DB2 から SQL Server へのアプリケーション移行

アプリケーションが、メインフレームの DB2 アプリケーションからメインフレームの特性に依存しない SQL Server アプリケーションに次第に移行する過程で、コンパイルとバインド時に必要な DIALECT 設定と文プレフィックスの組み合わせは移行段階に応じて変わり、これにより DB2 から SQL Server への最適な移行を達成できます。次の各シナリオでは、アプリケーション移行の各段階とそれらの段階で推奨される DIALECT および文プレフィックス設定について説明します。
段階 1 - すべての文が DB2 互換
次の設定が推奨されます。
DIALECT 設定 文プレフィックス
MAINFRAME None
プリプロセッサは、すべての文を DB2 文として処理しようとし、HCOSS によって有効な DB2 文として認識されない SQL Server 互換の文に対して、DB2 互換性の警告を発生します。DB2 互換性の警告なしにコンパイルされる文は、QUALIFIER コンパイラ指令または BIND パラメーターによって修飾されている文のみです。
段階 2 - 一部の SQL Server 固有の文以外、大半の文がメインフレーム互換
次の設定が推奨されます。
DIALECT 設定 文プレフィックス
MAINFRAME SQL Server 互換のフラグを設定する文で [NODIALECT]

[NODIALECT] プレフィックスは、SQL Server とのみ互換の文で DB2 互換の警告が発生するのを抑制します。DIALECT=MAINFRAME の設定によってこれらの文は QUALIFIER コンパイラ指令オプションまたは BIND QUALIFIER パラメーターによって修飾されていないので、文がソース コードで明示的に修飾されるようにするか、または接続のデフォルト スキーマで SQL Server が正しいスキーマを指すようにしてください。

段階 3 - 大半の文が SQL Server 互換
次の設定が推奨されます。
DIALECT 設定 文プレフィックス
MIXED SQL(CHECK) に失敗する文および SQL Server への変換の準備ができていない文で [MAINFRAME]

この段階で [NODIALECT] プレフィックスを除去できますが、必須ではありません。

段階 4 - ファースト クラスの SQL Server アプリケーション
次の設定が推奨されます。
DIALECT 設定 文プレフィックス
NONE None

前の段階で指定していた文プレフィックス [MAINFRAME] および [NODIALECT] をすべて除去します。これらのプレフィックスは、DIALECT が NONE に設定されている場合にコンパイル エラーの原因になります。ただし、所定の文に [NOPLAN] プレフィックスを指定できます。