はじめに
Oracle Pro*cでNULLを含むカラムをフェッチした際に出力されるエラー「ORA-01405: フェッチした列の値がNULLです」を回避する2つの方法についてまとめました。
1.インジケータ変数(標識変数)を使用する
1つ目の方法は、データフェッチを行う際にインジケータ変数を使用する方法です。
2.プリコンパイルコマンドの設定ファイルを変更する
2つめの方法は、プリコンパイルコマンド(procコマンド)の設定ファイルを書き換えます。
以下のようにUNSAFE_NULL=YESを指定することで、ORA-01405のエラーを回避することができます。
define=(WIN32_LEAN_AND_MEAN) MODE=ORACLE DBMS=V8 unsafe_null=yes
ちなみに、pcscfg.cfgは以下のパスに存在します。
ORACLEのホームディレクトリ\product\11.2.0\dbhome_1\precomp\admin