SQL コード生成オプション

HCOSS コードをコンパイル、テスト、実行する前に、HCOSS をどのように使用するかを確認してください。

自分のプログラムのメインフレーム SQL を SQL Server で実行するように変換するには
DIALECT SQL コンパイラ指令オプションを MAINFRAME に設定してすべての SQL を変換するか、または MIXED に設定してコードで選択した EXEC SQL 文を変換します。変換した SQL 文をコンパイル時に SQL Server を使用して完全にチェックできるようにするには、DB、PASS、QUALIFIER の各指令を DIALECT=MAINFRAME または DIALECT=MIXED とともに設定します。詳しくは、『DIALECT 文のプレフィックス』および『DB2 から SQL Server へのアプリケーション移行』の各トピックを参照してください。
自分のアプリケーションでメインフレーム形式のバインドを模倣するには
DBRMLIB SQL コンパイラ指令オプションを指定します。メインフレームの設定を完全にエミュレートする必要がある場合は、MEMBER と VERSION の各指令も指定できます。詳しくは、『アプリケーションのビルド』トピックを参照してください。
注: パッケージとプランは SQL Server ストアド プロシージャに保存されます。
SQL Server ストアド プロシージャを使用してアプリケーションを管理するには
HCOSS が SQL Server ストアド プロシージャを使用して該当する SQL 文を対象にアプリケーションを管理し、パッケージまたはプランを使用してそれらの文を管理しないようにするには、ACCESS または BIND SQL コンパイラ指令オプションを指定します。
生成したコードに SQL を埋め込むためのみに使用するには
生成したコードに SQL を埋め込むために HCOSS を使用する場合は、コンパイラ指令オプションは必要ありません。これはデフォルトの動作です。

次の表は、コード生成に影響する SQL コンパイラ指令オプションをまとめて示しています。各オプションの詳細については、『関連項目』 の該当するトピックを参照してください。

SQL コンパイラ指令オプション 生成の特徴 長所
なし (デフォルト) SQL はオブジェクト コードに埋め込まれたままとなります。 簡潔です。
ACCESS 大半の静的 SQL 文でコンパイル時にストアド プロシージャを作成します。 BIND SQL コンパイラ指令オプションをディプロイに使用する際のテストに便利です。
BIND sqlcmd または SQL Server Management Studio で使用可能な SQL バッチ スクリプトを生成して SQL Server データベースを更新することにより、アプリケーション コードのディプロイを有効にします。
  • セキュリティをプロシージャとデータに別々に適用できるので、アプリケーションのユーザーはアプリケーションからデータへのアクセスと更新のみを実行できます。
  • データベース管理者 はソース コードにアクセスせずにディプロイ対象の SQL を確認できます。
DBRMLIB1 メインフレーム形式のバインドを模倣して、静的 SQL 文を含んでいる DBRM を COBOL プログラムから生成できるようにします。
  • メインフレームのディプロイと互換性があるので、既存の JCL を使用してバインドできます。
  • 毎回異なるデフォルト修飾子などの異なるパラメーターを使用して DBRM を複数回バインドできます。
  • セキュリティをプロシージャとデータに別々に適用できるので、アプリケーションのユーザーはアプリケーションからデータへのアクセスと更新のみを実行できます。
  • Manage Packages and Plans ツールを使用して DBRM のバインドと解放を管理できます。
  • HCOSS を使用して、バインドされたパッケージとプランのためにデータベースでメインフレーム互換メタデータを維持できます。
  • データベース管理者は、ソース コードにアクセスせずにストアド プロシージャを参照することでバインド後に SQL を確認できます。
DIALECT2 SQL Server と互換性のない DB2 SQL 文の大半を同等の T-SQL 文に変換します。
  • DB2 文を T-SQL に変換する必要はありません。
  • プログラムのバインド時にデフォルトのスキーマを変更できるか、または場合により、QUALIFIER SQL コンパイラ指令オプションを使用してコンパイル時にデフォルトのスキーマを変更できます。
1 詳しくは『アプリケーションのビルド』のトピックを参照してください。

2 詳しくは『DIALECT 文のプレフィックス』『アプリケーションのビルド』の各トピックを参照してください。