SQL CLR 統合プロセス

Enterprise Developer SQL CLR 統合機能を効果的に使用して、.NET COBOL コードでユーザー定義の関数や型、集合体、およびトリガーを作成または追加し、ストアド プロシージャにアクセスする手順は、次のとおりです。

  1. 1 つ以上のストアド プロシージャを使用する場合は、使用するデータ型パラメーターの種類 (COBOL または .NET) を決定し、必要な調整を行います。詳細については、「COBOL および SQL CLR のストアド プロシージャのデータ型パラメーター」を参照してください。
  2. Enterprise Developer を起動します。
    重要: UAC 有効オペレーティング システムで、管理者として Enterprise Developer を起動する必要があります。
  3. SQL Server Database Project テンプレートを使用して、Visual Studio ソリューションを作成します。このソリューションには、COBOL ストアド プロシージャ コード用の COBOL .NET COBOL クラス ライブラリ プロジェクトと .Publish プロジェクトの 2 つのプロジェクトが含まれます。
    注: 詳細については、「SQL Server データベース プロジェクト テンプレート」を参照してください。
  4. 必要に応じて、1 つ以上の追加の .NET COBOL プロジェクトまたはネイティブ COBOL プロジェクトをソリューションに追加します。詳細については、「Working with Multiple .NET COBOL Projects」を参照してください。
  5. ソリューションの各 .NET COBOL プロジェクトのプロパティを設定します。
    • [.NET Framework 4.0 or later] を指定します。
    • EXEC SQL 文を使用して新しい SQL CLR オブジェクトのコーディングまたは既存の SQL CLR オブジェクトの追加を行う場合は、[ESQL Preprocessor] を [OpenESQL] に設定し、値を ADO に設定した DBMAN コンパイラ指令セットを追加します。
  6. 次のどちらかまたは両方の操作を行います。
    • ソリューションの各 .NET COBOL プロジェクトについて、プロジェクトを右クリックしてコンテキスト メニューから [追加 > 新しい項目] を選択することで、COBOL プログラム形式で次のいずれかを新しい SQL CLR オブジェクトとして追加します。
      • ユーザー定義関数
      • ストアド プロシージャ
      • ストアド プロシージャ定義 (.spd) ファイル
      • 集合体
      • トリガー
      • ユーザー定義型

      Enterprise Developer によって新しいオブジェクトがエディターで開かれるため、必要な機能を反映するようにコーディングを手動で完了できます。SPD ファイルでのデータ型パラメーターの正しいコーディングを確認するには、「COBOL および SQL CLR のストアド プロシージャのデータ型パラメーター」を参照してください。

    • コンテキスト メニューの [追加 > 既存の項目] オプションを使用して、既存の SQL CLR オブジェクトを任意の .NET COBOL プロジェクトに追加します。
      注: この方法で SPD ファイルを追加する場合は、続行する前に COBOL ラッパー プログラムを生成してください。手順については、「SQL CLR ストアド プロシージャ用の COBOL ラッパーの生成」を参照してください。
  7. プロジェクトをビルドし、COBOL アプリケーションからアクセス可能な DLL モジュールを生成します。
  8. [.Publish] プロジェクトで、[参照設定] を展開し、ストアド プロシージャを含むソリューションのすべての .NET COBOL プロジェクトが参照されていることを確認します。参照されていない場合は、それぞれに参照を作成します。手順については、「プロジェクト参照を .Publish プロジェクトに追加するには」を参照してください。
  9. [.Publish] プロジェクトを右クリックし、コンテキスト メニューから [公開] を選択します。

    これにより、ストアド プロシージャ コードが SQL Server インスタンスにディプロイされ、生成 DLL モジュールを使用するオブジェクトが SQL Server データベースに作成されます。

  10. 生成される出力が表示されるよう、必要に応じて入力値を入力し、SQL CLR オブジェクトを実行します。
この時点で、次の EXEC SQL 文を COBOL コードで使用してオブジェクトを呼び出すことにより、どの COBOL アプリケーションでも SQL CLR オブジェクトが使用できるようになります。
EXEC SQL :spReturnCode = call "objectName" args

SQL CLR ストアド プロシージャの作成と呼び出しの手順について説明する OpenESQL チュートリアルをぜひご覧ください。チュートリアルは、「チュートリアル:SQL CLR 統合」トピックで確認できます。