我有一个奇怪的问题。当我尝试使用 cursor.call_func 方法调用 oracle 存储函数时,我收到 OCI-22062 异常。我正在使用 Python 3.2 和 cx_Oracle 5.1.2。它通常看起来像这样:
这是包 pkg_planista 的函数头:
FUNCTION zatwierdz_plan (p_pl_id IN dz_plany.ID%TYPE,
p_czy_nowy_algorytm IN BOOLEAN DEFAULT FALSE,
p_czy_prz_grup IN BOOLEAN DEFAULT FALSE
) RETURN NUMBER;
这就是我所做的:
print(proc_name, retType, params, keyword_params)
res = self.cursor.callfunc(proc_name, retType, params, keyword_params)
上面的这个打印打印:
pkg_planista.zatwierdz_plan <class 'int'> [83, False] {}
并且在执行 callfunc 时,会引发 OCI-22062 错误:cx_Oracle.DatabaseError: OCI-22062: invalid input string [False]
我应该如何传递布尔参数以使其工作?