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

 

SQL プリプロセッサ

SQL プリプロセッサは、コンパイラを実行する前に、Embedded SQL を含んだ C または C++ プログラムを処理します。

構文
sqlpp [  options ] input-file [  output-file ]
オプション 説明
-d データ領域サイズを減らすコードを生成します。データ構造体を再利用し、実行時に初期化してから使用します。これはコード・サイズを増加させます。
-e level

指定した標準に含まれない静的 Embedded SQL をエラーとして通知します。level 値は、使用する標準を表します。たとえば sqlpp -e c03 ... は、コア SQL/2003 標準に含まれない構文を通知します。サポートされる level 値は、次のとおりです。

  • c03   コア SQL/2003 構文でない構文を通知します。

  • p03   上級レベル SQL/2003 構文でない構文を通知します。

  • c99   コア SQL/1999 構文でない構文を通知します。

  • p99   上級レベル SQL/1999 構文でない構文を通知します。

  • e92   初級レベル SQL/1992 構文でない構文を通知します。

  • i92   中級レベル SQL/1992 構文でない構文を通知します。

  • f92   上級レベル SQL/1992 構文でない構文を通知します。

  • t   標準ではないホスト変数型を通知します。

  • u   Ultra Light がサポートしていない構文を通知します。

以前のバージョンの SQL Anywhere と互換性を保つために、e、i、f を指定することもできます。これらはそれぞれ e92、i92、f92 に対応します。

-h width sqlpp によって出力される行の最大長を width に制限します。行の内容が次の行に続くことを表す文字は円記号 (\) です。また、width に指定できる最小値は 10 です。
-k コンパイルされるプログラムが SQLCODE のユーザ宣言をインクルードすることをプリプロセッサに通知します。定義は LONG 型である必要がありますが、宣言セクション内で指定する必要はありません。
-n C ファイルに行番号情報を生成します。これは、生成された C コード内の適切な場所にある #line ディレクティブで構成されます。使用しているコンパイラが #line ディレクティブをサポートしている場合、このオプションを使うと、コンパイラは SQC ファイル (Embedded SQL が含まれるファイル) の中の行番号を使ってその場所のエラーをレポートします。これは、SQL プリプロセッサによって生成された C ファイルの中の行番号を使って、その場所のエラーをレポートするのとは対照的です。また、ソース・レベル・デバッガも、#line ディレクティブを間接的に使用します。このため、SQC ソース・ファイルを表示しながらデバッグできます。
-o operating-system

ターゲット・オペレーティング・システムを指定します。サポートされているオペレーティング・システムは次のとおりです。

  • WINDOWS   Microsoft Windows

  • UNIX   32 ビットの UNIX アプリケーションを作成している場合はこのオプションを指定します。

  • UNIX64   64 ビットの UNIX アプリケーションを作成している場合はこのオプションを指定します。

-q クワイエット・モード (メッセージを表示しない)

-r-

再入力不可コードを生成します。再入可能コードの詳細については、マルチスレッドまたは再入可能コードでの SQLCA 管理を参照してください。
-s len プリプロセッサが C ファイルに出力する文字列の最大サイズを設定します。この値より長い文字列は、文字のリスト ('a''b''c' など) を使用して初期化されます。ほとんどの C コンパイラには、処理できる文字列リテラルのサイズに制限があります。このオプションを使用して上限を設定します。デフォルト値は 500 です。
-u Ultra Light 用コードを生成します。詳細については、Embedded SQL API リファレンスを参照してください。
-w level

指定した標準に含まれない静的 Embedded SQL を警告として通知します。level 値は、使用する標準を表します。たとえば sqlpp -w c03 ... は、コア SQL/2003 構文に含まれない SQL 構文を通知します。サポートされる level 値は、次のとおりです。

  • c03   コア SQL/2003 構文でない構文を通知します。

  • p03   上級レベル SQL/2003 構文でない構文を通知します。

  • c99   コア SQL/1999 構文でない構文を通知します。

  • p99   上級レベル SQL/1999 構文でない構文を通知します。

  • e92   初級レベル SQL/1992 構文でない構文を通知します。

  • i92   中級レベル SQL/1992 構文でない構文を通知します。

  • f92   上級レベル SQL/1992 構文でない構文を通知します。

  • t   標準ではないホスト変数型を通知します。

  • u   Ultra Light がサポートしていない構文を通知します。

以前のバージョンの SQL Anywhere と互換性を保つために、e、i、f を指定することもできます。これらはそれぞれ e92、i92、f92 に対応します。

-x マルチバイト文字列をエスケープ・シーケンスに変更して、コンパイラをパススルーできるようにします。
-z cs

照合順を指定します。推奨する照合順のリストを表示するには、コマンド・プロンプトで dbinit -l と入力してください。

照合順は、プリプロセッサにプログラムのソース・コードで使用されている文字を理解させるために使用します。たとえば、識別子に使用できるアルファベット文字の識別などに使用されます。-z が指定されていない場合、プリプロセッサは、オペレーティング・システムと SALANG および SACHARSET 環境変数に基づいて、使用する合理的な照合順を決定しようとします。SACHARSET 環境変数SALANG 環境変数を参照してください。

input-file 処理される Embedded SQL が含まれる C プログラムまたは C++ プログラム。
output-file SQL プリプロセッサが作成した C 言語のソース・ファイル。
説明

SQL プリプロセッサは input-file に記述されている SQL 文を C 言語ソースに変換し、output-file に出力します。Embedded SQL を含んだソース・プログラムの拡張子は通常 .sqc です。デフォルトの出力ファイル名は拡張子 .c が付いた input-file です。input-file.c 拡張子が付いている場合、出力ファイルの拡張子はデフォルトで .cc になります。

参照