簡體   English   中英

使用Python的cx_oracle callproc函數獲取錯誤

[英]Getting an error with Python's cx_oracle callproc function

我有以下代碼:

        curs.callproc('add_command_pkg.add_command', [],
                      { 'command_id' : 7,
                        'session_id' : None,
                        'expiry_time' : 'sysdate + 7',
                        'config_id' : 6 })

運行此命令時,出現以下錯誤:

myFunc中的文件“ N:\\ app \\ MainWidget.py”,第453行
curs.callproc('add_command_pkg.add_command',[],{'command_id':7,'session_id':無,'expiry _time':'sysdate + 7','config_id':6})
cx_Oracle.DatabaseError:ORA-01858:在第1行找到了一個非數字字符,期望的數字為ORA-06512:

我輸錯了什么參數,我該如何解決?

編輯:

命令簽名:

                                        ( command_id   IN NUMBER,
                                          expiry_time  IN DATE,
                                          session_id   IN NUMBER DEFAULT NULL,
                                          config_id    IN NUMBER DEFAULT NULL
                                        );

另外,我該如何提交?

您不能為參數expiry_time傳遞字符串“ sysdate + 7”。

您可以組成一個datetime對象,或者只是更改過程以接受數字“天偏移”,然后在過程本身內的sysdate中添加或減去它。

對於提交,您可以在cx_Oracle的連接對象上調用commit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM