Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » Embedded SQL » SQLCA (SQL Communication Area)

 

SQLCA のフィールド

SQLCA のフィールドの意味を次に示します。

  • sqlcaid   SQLCA 構造体の ID として文字列 SQLCA が格納される 8 バイトの文字フィールド。このフィールドはデバッグ時にメモリの中身を見るときに役立ちます。

  • sqlcabc   SQLCA 構造体の長さ (136 バイト) が入る 32 ビットの整数。

  • sqlcode   データベースが検出した要求エラーのエラーコードが入る 32 ビットの整数。エラーコードの定義はヘッダーファイル sqlerr.h にあります。エラーコードは、0 (ゼロ) は成功、正は警告、負はエラーを示します。

  • sqlerrml   sqlerrmc フィールドの情報の長さ。

  • sqlerrmc   エラーメッセージに挿入される文字列。挿入されない場合もあります。エラーメッセージに 1 つまたは複数のプレースホルダー文字列 (%1%2、...) があると、このフィールドの文字列と置換されます。

    たとえば、「テーブルが見つかりません」のエラーが発生した場合、sqlerrmc にはテーブル名が入り、これがエラーメッセージの適切な場所に挿入されます。

  • sqlerrp   予約。

  • sqlerrd   32 ビット整数の汎用配列。

  • sqlwarn   予約。

  • sqlstate   SQLSTATE ステータス値。ANSI SQL 標準では、SQLCODE 値のほかに、SQL 文からのこの型の戻り値が定義されます。SQLSTATE 値は NULL で終了する長さ 5 の文字列で、前半 2 バイトがクラス、後半 3 バイトがサブクラスを表します。各バイトは 0 ~ 9 の数字、または、A ~ Z の英大文字です。

    0 ~ 4 または A ~ H の文字で始まるクラス、サブクラスはすべて SQL 標準で定義されています。それ以外のクラスとサブクラスは実装依存です。SQLSTATE 値 '00000' はエラーや警告がなかったことを意味します。

 sqlerror 配列
 参照