チュートリアル:アプリケーションの移行 - パッケージ・セットの切り替え

このチュートリアルでは 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 ツールが既に実行している場合は、この段階をスキップしてください。

  1. [Start > All Programs > Micro Focus Enterprise Developer > Enterprise Developer for Eclipse] の順に選択して、Enterprise Developer を管理者として起動します。
  2. Eclipse IDE から、[Run > Tools > HCO for SQL Server] の順にクリックします。

第 2 段階:ネイティブ・アプリケーションの分析

  1. Eclipse IDE から、[File > Import] をクリックします。
  2. [General] を展開し、[Existing Projects into Workspace] を選択して、[Next] をクリックします。
  3. [Set root directory] を選択し、%PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\SQL\hcoss\TwoPackageSet ディレクトリを参照して、[OK] をクリックします。
  4. [Projects] リストで、[TwoPackageSet] をオンにします。
  5. [Copy projects into workspace] をオンにします。
  6. [Finish] をクリックします。Eclipse はプロジェクトをロードし、それを自動的にビルドします。
  7. COBOL Explorer から、[TwoPackageSet > COBOL Programs] を展開し、TwoPackageSet.cbl ファイルをダブルクリックしてその内容を表示します。特に EXEC SQL 文に注意してください。
  8. コード・エディタを閉じます。
  9. [TwoPackageSet] プロジェクトのプロジェクト・プロパティを開きます。
  10. [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 のコンパイル時検証は実行されません。
  11. [Properties] ウィンドウを閉じます。

3 段階:ネイティブ・アプリケーションのバインド

ここでは、アプリケーションのビルドで生成された DBRM にアプリケーションをバインドします。この処理は HCOSS Manage Packages and Plans ツールを使用して実行し、2 つのパッケージと 1 つのプランを作成します。作成するパッケージはそれぞれ固有の集合に含まれ、固有の修飾子を持ちますが、両方とも同じソース・メンバとライブラリを指します。次に、両方のパッケージを 1 つのプランにバインドします。

Manage Packages and Plans ツールを起動します
  1. HCO for SQL Server インターフェイスから、[Manage Packages and Plans] をクリックします。
  2. [SQL Server Connection] ドロップダウン・リストから、[HCODemo] を選択します。
2 つのパッケージを作成します
  1. [New Package] をクリックします。次を指定します。
    プロパティ
    集合名 TEST
    ライブラリ名 <Default>
    メンバ名 TWOPACKAGESET
    デフォルトの修飾子 TEST
    アクション Replace
  2. [Execute] をクリックします。パッケージがデータベースに作成されます。
  3. [Collection Name] を [PROD] に変更し、[Default Qualifier] を [PROD] に変更します。
  4. [Execute] をクリックします。2 つ目のパッケージが作成されます。
  5. [Bind Scripts] タブに切り替えます。各パッケージの作成によって、BIND スクリプト・コマンドが生成されています。
2 つのパッケージをプランにバインドします
  1. [New Plan] をクリックします。
  2. [Plan Name] フィールドに TWOPACKAGESET と入力します。
  3. [Available Collections] リストで、[PROD] をクリックします。
  4. [Available Packages] リストで、[TWOPACKAGESET] をクリックします。
  5. [Add] をクリックして、このパッケージを [Selected Packages] リストに追加します。
  6. 手順 3 から 5 を繰り返し、[PROD] の変わりに [TEST] をクリックして、[TEST.TWOPACKAGESET] パッケージを [Selected Packages] リストに追加します。
  7. [Action] グループで、[Replace] をクリックします。
  8. [Execute] をクリックして BIND PLAN エントリをスクリプトに追加し、プランをバインドします。
結果を検証します
  1. Microsoft SQL Server Management Studio を使用して、SQL Server インスタンスに接続します。
  2. Object Explorer で、[Databases > HCO_Test > Programmability > Stored Procedures] の順に展開し、パッケージとプランを実行したとき HCOSS により作成されたストアド・プロシージャを確認します。
  3. 名前の一部に PKG を含んでいるストアド・プロシージャを開きます。

    ここには、アプリケーション・コードからの SQL があります。また UPPER への SQL Server 関数呼び出しもあります。これらは、DB2 の UCASE への関数呼び出しから変換されたものです。これは、コンパイル時に SQL(DIALECT=MAINFRAME) 指令を設定した結果です。

4 段階:ネイティブ・アプリケーションの実行

  1. EclipseCOBOL Explorer から、TwoPackageSet.cbl ソース・ファイルを開きます。
  2. STOP RUN 行にブレーク・ポイントを設定します。
  3. [Run > Debug] をクリックしデバッグを開始します。
  4. [Debug As] ダイアログ・ボックスの指示が表示された場合は、[COBOL Application] を選択し、[OK] をクリックします。
  5. [Debug] パースペクティブを開く指示が表示されたら、[Yes] をクリックします。
  6. [Resume] をクリックしてブレーク・ポイント設定を続行します。

行が、異なるデータベース・スキーマの行によって入れ替わっていることが、出力からわかります。これは、単一カーソルを使用してパッケージのセットを切り替え、異なるスキーマからデータを引用していることを示しています。

注:出力ウィンドウが見えない場合は、Eclipse を最小化してウィンドウが見えるようにします。

これでこのチュートリアルは終了です。