Python Django cx_Oracle хранимая процедура вывод параметр получить данные
Я могу успешно вызвать хранимую процедуру, но не могу получить данные в параметре OUT. Переменная out_var не содержит результата.
Что я делаю не так?
У меня есть следующий код в Django:
def call_stored_procedure(in_var_1: int, in_var_2: str):
with connections['DB_KEY'].cursor() as cursor:
out_type = connections[db].connection.gettype("CUSTOM_SCHEMA.CustomTableOfType")
out_var = cursor.var(out_type).var
x = cursor.callproc("CUSTOM_SCHEMA.CUSTOM_PACKAGE.CustomProc", (in_var_1, in_var_2, out_var ))
return x, out_var
Следующие настройки базы данных в settings.xml
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
},
'DB_KEY': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'xxxx.xxxx.xxxx:1111/XXX',
'USER': 'xxxxxx',
'PASSWORD': 'xxxxxxx',
}
]
Ниже приведена хранимая процедура, которую я вызываю:
PROCEDURE CustomProc(
in_var_1 IN number,
in_var_2 IN varchar2,
out_var OUT CUSTOM_SCHEMA.CustomTableOfType
)
IS
...
BEGIN
...
END
CUSTOM_SCHEMA.CustomTableOfType выглядит следующим образом:
TYPE CustomTableOfType AS TABLE OF CUSTOM_SCHEMA.CustomType;
CUSTOM_SCHEMA.CustomType выглядит следующим образом:
TYPE CustomType FORCE AS OBJECT (
XXX NUMBER(6),
YYY DATE,
ZZZ NUMBER(3),
CONSTRUCTOR FUNCTION CustomType RETURN SELF AS RESULT);
Данные в параметре out отсутствуют в связанном объекте.
