このチュートリアルでは DB2 アプリケーションを SQL Server アプリケーションに移行し、HCOSS を使用してパッケージのセットを切り替え単一カーソル名によりフェッチ・データを変更するプロセスについて説明します。
またこのチュートリアルでは、HCOSS で HCOSS Manage Packages and Plans ツールを使用してアプリケーションをバインドする方法についても説明します。
要件
このチュートリアルを実施する前に、まず次のチュートリアルを完了して、必要な PROD と TEST のスキーマを含んだ HCO_Test という名前の確立された SQL Server データベースがあり、その HCO_Test データベースに接続されていることを確認する必要があります。
- 『チュートリアル:SQL Server データベースの作成』
- 『Tutorial:Create a Database Connection』
- 『チュートリアル:DB2 データベース移行』 または 『チュートリアル:アプリケーション移行チュートリアルのためのセットアップ』
Eclipse プロジェクト
このチュートリアルで使用する Eclipse プロジェクト には、ネイティブ COBOL プロジェクトの TwoPackageSet プロジェクトが含まれています。
第 1 段階:Enterprise Developer および HCO for SQL Server の起動
Enterprise Developer ツールおよび HCOSS for SQL Server ツールが既に実行している場合は、この段階をスキップしてください。
- [Start > All Programs > Micro Focus Enterprise Developer > Enterprise Developer for Eclipse] の順に選択して、Enterprise Developer を管理者として起動します。
- Eclipse IDE から、[Run > Tools > HCO for SQL Server] の順にクリックします。
第 2 段階:ネイティブ・アプリケーションの分析
- Eclipse IDE から、[File > Import] をクリックします。
- [General] を展開し、[Existing Projects into Workspace] を選択して、[Next] をクリックします。
- [Set root directory] を選択し、%PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\SQL\hcoss\TwoPackageSet ディレクトリを参照して、[OK] をクリックします。
- [Projects] リストで、[TwoPackageSet] をオンにします。
- [Copy projects into workspace] をオンにします。
- [Finish] をクリックします。Eclipse はプロジェクトをロードし、それを自動的にビルドします。
- COBOL Explorer から、[TwoPackageSet > COBOL Programs] を展開し、TwoPackageSet.cbl ファイルをダブルクリックしてその内容を表示します。特に EXEC SQL 文に注意してください。
- コード・エディタを閉じます。
- [TwoPackageSet] プロジェクトのプロジェクト・プロパティを開きます。
- [Micro Focus > Project Settings > COBOL] の順に展開し、[SQL Settings] を選択します。いくつかの OpenESQL コンパイラ指令が既に設定されています。次の表に、それぞれの概要を示します。
SQL(DBMAN=ODBC)
|
ODBC 接続を使用します。
|
SQL(TARGETDB=MSSQLSERVER)
|
ターゲット・データベースは SQL Server です。
|
SQL(DB=HCODemo)
|
SQL Server 接続名は HCODemo です。
|
SQL(DIALECT=MAINFRAME)
|
HCOSS データベース構文変換を有効にします。
|
SQL(DBRMLIB)
|
EXEC-SQL コマンドを抽出し、データベース要求モジュール (DBRM) に置きます。
|
SQL(DETECTDATE)
|
日付 / 時刻の文字列を変換します。
|
SQL(INIT)
|
データベース接続を開始します。
|
SQL(MARS)
|
複数のアクティブな結果セットを有効にします。
|
SQL(QUALIFIER=TEST)
|
スキーマ修飾子は TEST です。
|
SQL(NOCHECK)
|
SQL のコンパイル時検証は実行されません。
|
- [Properties] ウィンドウを閉じます。
第 3 段階:ネイティブ・アプリケーションのバインド
ここでは、アプリケーションのビルドで生成された DBRM にアプリケーションをバインドします。この処理は HCOSS Manage Packages and Plans ツールを使用して実行し、2 つのパッケージと 1 つのプランを作成します。作成するパッケージはそれぞれ固有の集合に含まれ、固有の修飾子を持ちますが、両方とも同じソース・メンバとライブラリを指します。次に、両方のパッケージを 1 つのプランにバインドします。
- Manage Packages and Plans ツールを起動します
-
- HCO for SQL Server インターフェイスから、[Manage Packages and Plans] をクリックします。
- [SQL Server Connection] ドロップダウン・リストから、[HCODemo] を選択します。
- 2 つのパッケージを作成します
-
- [New Package] をクリックします。次を指定します。
プロパティ
|
値
|
集合名
|
TEST
|
ライブラリ名
|
<Default>
|
メンバ名
|
TWOPACKAGESET
|
デフォルトの修飾子
|
TEST
|
アクション
|
Replace
|
- [Execute] をクリックします。パッケージがデータベースに作成されます。
- [Collection Name] を [PROD] に変更し、[Default Qualifier] を [PROD] に変更します。
- [Execute] をクリックします。2 つ目のパッケージが作成されます。
- [Bind Scripts] タブに切り替えます。各パッケージの作成によって、BIND スクリプト・コマンドが生成されています。
- 2 つのパッケージをプランにバインドします
-
- [New Plan] をクリックします。
- [Plan Name] フィールドに TWOPACKAGESET と入力します。
- [Available Collections] リストで、[PROD] をクリックします。
- [Available Packages] リストで、[TWOPACKAGESET] をクリックします。
- [Add] をクリックして、このパッケージを [Selected Packages] リストに追加します。
- 手順 3 から 5 を繰り返し、[PROD] の変わりに [TEST] をクリックして、[TEST.TWOPACKAGESET] パッケージを [Selected Packages] リストに追加します。
- [Action] グループで、[Replace] をクリックします。
- [Execute] をクリックして BIND PLAN エントリをスクリプトに追加し、プランをバインドします。
- 結果を検証します
-
- Microsoft SQL Server Management Studio を使用して、SQL Server インスタンスに接続します。
- Object Explorer で、[Databases > HCO_Test > Programmability > Stored Procedures] の順に展開し、パッケージとプランを実行したとき HCOSS により作成されたストアド・プロシージャを確認します。
- 名前の一部に PKG を含んでいるストアド・プロシージャを開きます。
ここには、アプリケーション・コードからの SQL があります。また UPPER への SQL Server 関数呼び出しもあります。これらは、DB2 の UCASE への関数呼び出しから変換されたものです。これは、コンパイル時に SQL(DIALECT=MAINFRAME) 指令を設定した結果です。
第 4 段階:ネイティブ・アプリケーションの実行
- Eclipse の COBOL Explorer から、TwoPackageSet.cbl ソース・ファイルを開きます。
- STOP RUN 行にブレーク・ポイントを設定します。
- [Run > Debug] をクリックしデバッグを開始します。
- [Debug As] ダイアログ・ボックスの指示が表示された場合は、[COBOL Application] を選択し、[OK] をクリックします。
- [Debug] パースペクティブを開く指示が表示されたら、[Yes] をクリックします。
- [Resume] をクリックしてブレーク・ポイント設定を続行します。
行が、異なるデータベース・スキーマの行によって入れ替わっていることが、出力からわかります。これは、単一カーソルを使用してパッケージのセットを切り替え、異なるスキーマからデータを引用していることを示しています。
注:出力ウィンドウが見えない場合は、Eclipse を最小化してウィンドウが見えるようにします。
これでこのチュートリアルは終了です。