【问题标题】:How to use oracle logminer in python?如何在python中使用oracle logminer?
【发布时间】:2017-09-25 19:30:34
【问题描述】:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import cx_Oracle

我想在 Python 中使用dbms_logmnr_d.build(),但出现以下错误:

回溯(最近一次通话最后一次):
文件“test.py”,第 10 行,在

x=c.callproc("EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', 
                dictionary_location =>'/u01/app/oracle/product/11.2.0/xe/LOGMNR')")

cx_Oracle.DatabaseError:
ORA-06550:第 1 行,第 15 列:
PLS-00103:在预期以下情况之一时遇到符号 DBMS_LOGMNR_D
: = . ( @ % ; immediate
符号 : = 被替换为 DBMS_LOGMNR_D 以继续。


示例:

conn=cx_Oracle.connect('example/pass@localhost/XE')
c=conn.cursor()                                         
x=c.callproc("EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/u01/app/oracle/product/11.2.0/xe/LOGMNR')")
conn.commit();                  
c.close()                                                 
conn.close() 

【问题讨论】:

    标签: python oracle


    【解决方案1】:

    您不应使用execute 关键字,并单独传递参数:

    c.callproc("dbms_logmnr_d.build", keywordParameters = dict(dictionary_filename = "dictionary.ora", dictionary_location = "/u01/app/oracle/product/11.2.0/xe/LOGMNR"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 2021-10-16
      • 2020-07-21
      • 2020-04-09
      • 2021-08-14
      • 2017-08-07
      相关资源
      最近更新 更多