Embedded SQL (ESQL) を含む C/C++ のプログラムをプリプロセッサーで処理し、コンパイラーを実行する前に、このプログラムに必要なコードを生成できるようにします。次の表では、万全を期すためにすべてのオプションについて説明していますが、Ultra Light に関連するオプションは -eu と -wu のみです。
sqlpp -u [ options ] esql-filename [ output-filename ]
オプション | 説明 |
---|---|
-d | データ領域サイズを減らし、コードサイズを増加させるコードを生成します。データ構造体を再利用し、実行時に初期化してから使用します。 |
-e flag |
このオプションは、指定した規格に含まれない静的 Embedded SQL をエラーとして通知します。level 値は、使用する規格を表します。たとえば、 level として使用される値は次のとおりです。
以前のバージョンの SQL Anywhere と互換性を保つために、e、I、f を指定することもできます。これらはそれぞれ e92、i92、f92 に対応します。 |
-h width | sqlpp によって出力される .c ファイル内の分割された行の最大長を width に制限します。分割された行が C コンパイラーで 1 行として解析されるように、分割された行の末尾には円記号が追加されます。デフォルト値はありません (出力の行はデフォルトで分割されません)。 |
-k | コンパイルされるプログラムが SQLCODE のユーザー宣言をインクルードすることをプリプロセッサーに通知します。 |
-m mode | カーソルの更新可能性モード。HISTORICAL または READONLY。 |
-n |
コード内の適切な場所で このオプションを使用して、ソースのエラーをレポートし、また output-filename ファイルではなく、esql-filename ファイル内の行番号にあるソースをデバッグできます。 |
-o O/S spec | Ultra Light には不適用。 |
-q | ユーティリティをクワイエットモードで実行するように設定します。情報のバナー、バージョン番号、ステータスメッセージが非表示になります。エラーメッセージは引き続き表示されます。 |
-r | Ultra Light には不適用。 |
-s string-length | プリプロセッサーが C ファイルに出力する文字列の最大サイズを設定します。この値より長い文字列は、文字のリスト ('a'、'b'、'c' など) を使用して初期化されます。ほとんどの C コンパイラーには、処理できる文字列リテラルのサイズに制限があります。このオプションを使用して上限を設定します。デフォルト値は 500 です。 |
-u | Ultra Light で必須です。Ultra Light データベースに必要な出力を生成します。 |
-w level |
SQL 構文に準拠しないものを警告として通知します。level 値は、使用する規格を表します。たとえば level として使用される値は次のとおりです。
以前のバージョンの SQL Anywhere と互換性を保つために、e、I、f を指定することもできます。これらはそれぞれ e92、i92、f92 に対応します。 |
-x | マルチバイト文字列をエスケープシーケンスに変更し、コンパイラーをパススルーできるようにします。 |
-z collation-sequence | 照合順を指定します。 |
このプリプロセッサーは、入力ファイル内の SQL 文を C/C++ に変換します。結果は output-filename に書き込みます。Embedded SQL を含むソースプログラムの拡張子は通常は sqc です。デフォルトの output-filename は拡張子 c が付いた esql-filename ベースの名前です。ただし、esql-filename に拡張子 .c がすでに付いている場合、デフォルトの出力ファイル拡張子は .cc になります。
照合順は、プリプロセッサーにプログラムのソースコードで使用されている文字を理解させるために使用します。たとえば、識別子に使用できるアルファベット文字の識別などに使用されます。Ultra Light では、照合にコードページとソート順が含まれます。-z を指定しなかった場合は、プリプロセッサーが、オペレーティングシステムに基づいて、使用する合理的な照合順を決定しようとします。
コマンド ulinit -Z を実行すると、サポートされている照合と対応するコードページのリストが表示されます。
SQL プリプロセッサー (sqlpp) には、Embedded SQL アプリケーション内の静的 SQL 文をコンパイル時に通知する機能があります。この機能は、Ultra Light アプリケーションを開発するときに特に便利です。この機能で、SQL 文に Ultra Light との互換性があることを確認できます。SQL Anywhere アプリケーションと Ultra Light アプリケーションの両方に対する SQL の互換性をテストするには、-e オプションか -w オプションまたはその両方を使用します。 SQL Flagger の詳細については、SQL Flagger を使用した SQL 準拠のテストを参照してください。
次のコマンドは、Ultra Light アプリケーション用に Embedded SQL ファイル srcfile.sqc をクワイエットモードで前処理します。
sqlpp -u -q MyEsqlFile.sqc |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |