2012-10-19 52 views
1

我想創建一個日期時間cx_Oracle arrayvar,wihch我就可以使用飼料callproc。所以我預計的代碼是這樣的:創建cx_Oracle arrayvar爲DATETIME

dt1 = datetime.datetime.strptime('2012/07/30 10:42:09', '%Y/%m/%d %H:%M:%S') 
dt2 = ...(another datetime value)... 
av1 = cursor.arrayvar(cx_Oracle.DATETIME, [dt1, dt2]) 
av2 = ...(another arrayvar)... 
cursor.callproc('my_db_procedure', (av1, av2)) 

不過,我不斷收到此錯誤:

PLS-00306: wrong number or types of arguments in call to 'my_db_procedure' 

有人能指出我在做什麼錯了?

回答

1

好的,最後我發現了什麼是錯的。在我的PL/SQL代碼,我定義的輸入參數類型:

TYPE id IS TABLE OF varchar2(16); 

這實際上應該是:

TYPE id IS TABLE OF varchar2(16) INDEX BY BINARY_INTEGER; 

我希望這能幫助別人用類似的問題。

+0

我不能解決在我的情況下,我用它作爲存儲過程的參數,將如何在存儲過程參數? –