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 отсутствуют в связанном объекте. enter image description here

Вернуться на верх