Oracle データベースに接続し、必要に応じて SQL クエリを実行する Pro*C コードがあります。次のような単純な SQL クエリ:
SELECT A, B FROM TBL1 WHERE A = 'a'
ORA-01405: fetched column value is NULL
A は VARCHAR2(30) として定義され、B は NUMBER(4,2) として定義されます。 私の Pro*c バージョンは Pro*C/C++: Release 11.2.0.3.0
、GNU gcc ファミリのコンパイラ g++ バージョン 2.95.3 を使用しています。Oracle のドキュメント ( http://docs.oracle.com/cd/A57673_01/DOC/api/doc/PC_22/ch03a.htm ) には、次のように記載されています。
if you SELECT or FETCH a null into a host variable that has no indicator, Oracle issues the following error message:
ORA-01405: fetched column value is NULL
Pro*c の実行中に UNSAFE_NULL=YES を指定して ORA-01405 メッセージを無効にすることができますが、proc コマンドでそのフラグを追加しようとすると、MODE=ORACLE および DBMS=V7 またはV8
他の提案はありますか?