Pro*Cのコンパイラオプション次第で、sqlca.sqlcodeの値が変わることを知った。 これを誤ると、プログラム的には終了しているのにsqlca.sqlcodeの値が終了の値 (=SQL_NOTFOUNDという定数「値は1403」)でないため、無限ループに陥った。 Pro*Cのコンパイラオプションによる違いは以下の通り。 mode=ANSI ⇒ sqlca.sqlcode=100 mode=ORACLE ⇒ sqlca.sqlcode=1403 (デフォルト)
Pro*Cとは Oracleでは、C言語を使ってデータベースをアクセスするために、Pro*Cという、C言語のプリコンパイラを提供しています。 Pro*Cのソースファイル(*.pc)をprocコマンドで、プリコンパイルすると、Cのソース(*.c)が生成されます。 プログラムは、C言語のソースの中に、EXEC SQLなどのようにソースを埋め込んで記述します。 以下に、Pro*Cを使った、簡単なサンプルプログラムを紹介します。 Pro*Cによる配列アクセスのサンプルプログラム 配列アクセスは、SQLの規格にはありませんが、大幅にデータベースの性能改善ができます。 以下のプログラムは、配列アクセスにより、データベースを全件検索するPro*Cのサンプルです。 パラメータを付けると、デバッグ用のトレースを表示します。 #include <stdio.h> EXEC SQL BEGIN DECLARE
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く