Hello, I'm trying to pass array as an argument into PL/SQL procedure. According to cursor manual (http://cx-oracle.sourceforge.net/html/ cursorobj.html) arrayvar() should be use to do it. I've created my array type in PL/SQL:
CREATE OR REPLACE TYPE cx_array_string is table of varchar2(200); and simple procedure: CREATE OR REPLACE PROCEDURE text(ret IN cx_array_string) IS BEGIN null; END text; My python code: p_array = curs.arrayvar(cx_Oracle.STRING, ['1','3']) curs.execute('BEGIN text( :1 ); end;', [p_array] ) And it gives me back an error: cx_Oracle.DatabaseError: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'TEXT' ORA-06550: line 1, column 7: PL/SQL: Statement ignored It's the same when i try to use callproc() instead of execute(). I've searched whole internet with no luck. Could anyone please give me a working example python + pl/sql how to pass string array form py to oracle procedure, please. Thank you! -- http://mail.python.org/mailman/listinfo/python-list