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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere Embedded SQL

 

SQLCA (SQL Communication Area)

「SQLCA」 (「SQL Communication Area」)とは、データベースへの要求のたびに、アプリケーションとデータベース・サーバの間で、統計情報とエラーをやりとりするのに使用されるメモリ領域です。SQLCA は、アプリケーションとデータベース間の通信リンクのハンドルとして使用されます。データベース・サーバとやりとりする必要のあるデータベース・ライブラリ関数には SQLCA が必ず渡されます。また、ESQL 文でも必ず暗黙的に渡されます。

インタフェース・ライブラリ内には、グローバル SQLCA 変数が 1 つ定義されています。プリプロセッサはこのグローバル SQLCA 変数の外部参照と、そのポインタの外部参照を生成します。外部参照の名前は sqlca、型は SQLCA です。ポインタの名前は sqlcaptr です。実際のグローバル変数は、インポート・ライブラリ内で宣言されています。

SQLCA は、インストール・ディレクトリの SDK\Include サブディレクトリにある sqlca.h ヘッダ・ファイルで定義されています。

SQLCA にはエラー・コードが入る

SQLCA を参照すると、特定のエラー・コードの検査ができます。データベースへの要求でエラーがあると、sqlcode フィールドと sqlstate フィールドにエラー・コードが入ります。sqlcode や sqlstate などの SQLCA のフィールドを参照するために、C マクロが定義されています。


SQLCA のフィールド
マルチスレッドまたは再入可能コードでの SQLCA 管理
複数の SQLCA の使用