#python #stored-procedures #cx-oracle
Вопрос:
У меня есть хранимая процедура, как показано ниже.
procedure download_data(
id in number,
test_ids in test_num_array := test_num_array(),
data_instance out sys_refcursor,
titles out test_two_dim_array
) ----
---------
Я пишу программу на python, которая, как показано ниже
connection = Util.getConnection()
cursor=connection.cursor()
cur_var=cursor.var(cx_Oracle.CURSOR)
id = cursor.var(cx_Oracle.NUMBER, 123456)
test_ids = cursor.arrayvar(cx_Oracle.NUMBER, [123456, 7890])
titles = [[]]
cursor.callproc("fast_rprt_dwnld.download_analysis_data_fs2", [id, test_ids,cur_var,titles])
print(titles)
Получение ниже ошибки :
"errorMessage": "element 0 value is unsupported",
Комментарии:
1. Каково определение test_two_dim_array? Вам нужно будет создать объект базы данных (через connection.gettype ()), чтобы обрабатывать массив такого рода. Интерфейс массива (arrayvar) обрабатывает только скалярные массивы.