Новое для Oracle и Python. У меня есть API в базе данных Oracle, в которой есть функция Part_Exist, которая проверяет, существует ли часть, и возвращает 1 для истинного, 0 для ложного:
FUNCTION Part_Exist (
contract_ IN VARCHAR2,
part_no_ IN VARCHAR2 ) RETURN NUMBER
IS
BEGIN
IF Check_Exist___(contract_, part_no_) THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END Part_Exist;
Затем я пытаюсь выполнить эту функцию в Python, используя курсор соединения cx_Oracle:
cursor.execute('INVENTORY_PART_API.PART_EXIST', ['100', '05945'])
Я пробовал cursor.callproc
ранее, но поскольку это функция, а не процедура, я подумал, что cursor.execute
будет правильным.
Я продолжаю получать эту трассировку:
cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number
Я пробовал форматировать входы по-разному, но безуспешно. Раньше я использовал cursor.callproc
с хорошими результатами. Вход приветствуется!