小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle Pro*cでORA-01405のエラーを回避する方法

はじめに

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