Считывание параметра вывода двумерного массива из хранимой процедуры oracle в python

#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) обрабатывает только скалярные массивы.