1

奇妙な問題があります。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: 無効な入力文字列 [False]

ブール値のパラメーターを渡して機能させるにはどうすればよいですか?

4

1 に答える 1