SQLService の例

このRDMLXフォームにより、SQLServiceの使用例が提供されます。このフォームを使用すると、JDBCドライバーでデータベースに接続し、このデータベースに対してクエリーを実行できます。データを表示するには、READコマンドを実行してサーバーからデータをダウンロードし、リスト表示でそのデータを表示します。
この例では、JSMJDBC という IBM i のデータベースに接続します (これは IBM i の例であるため、データベース名はライブラリ名になります)。CONNECTコマンドで使用されるドライバー名は、SQLServiceプロパティ・ファイルで定義されるドライバー名とパスに相当します。アクセスするファイルはTBLNAMEとなります。これは、ID、NAME、AGE、SALARY、DEPT、GRADEの各フィールドで構成されます。
この例を実行するには、以下の操作を行う必要があります。
a.      LANSA Integrator インスタンスの jar ディレクトリにデータベースの JDBC ドライバーをインストールしておきます。また、SQLServices.propertiesファイルにこのJDBCドライバーと、接続するデータベースの詳細が含まれていることを確認します。
b.      LANSAリポジトリで以下の2つのフィールドを定義します。

c.      #JSMSRV フィールドに正しい JSM サーバー(およびポート) の値を設定します。
このコード例は以下のような手順になります。
1.      JSMCOMMAND 関連フィールドを定義します。
2.      テーブルのフィールドを結果リストの列にマッピングする場合に使用されるフィールドを定義します。ここで定義されるフィールドは、クエリーが実行されるテーブルで定義されたフィールドの長さとタイプに一致していなければなりません。
3.      フィールド列のマッピングを入れるために使用されるリストに必要な2つのフィールドを定義します。
4.      列マッピングを入れるリストを定義します。このリストは 2 列のリストでなければなりません。最初の列には列名が、2番目のフィールドにはフィールド名が入ります。
5.      ステップ 2 で定義したフィールドを使って、2 つの作業リストを定義します。これらのリストは、READ コマンドを使って、クエリにより作成された結果リストから読み込まれます。この例では2つのリストが作成され、結果リストに戻りながら、必要に応じて異なる列にアクセスする方法が実証されます。2つの参照リストはこれらの作業リストと同じ形式になるように定義され、この参照リストを使用して画面に結果が表示されます。
6.      JSM サーバー設定を行います。
7.      JSM システム、SQLService の順に接続します。
8.      組み込み関数 JSMX_OPEN を使用して、この JSMX クライアントと Java Service Manager を接続したり、サービスのスレッドを開始することができます。
9.      Service_Load (SQLService) コマンドは、サービスをロードして初期化します。
10.     JDBC ドライバーに接続します。
11.     列フィールドのマッピングを定義します。この定義では、#FIELD を適切な列と #1 に設定します。COLUMN には (テーブルから).適切なフィールド名を設定します。各マッピングは、#MAPLST作業リストに新しいエントリーとして追加され、SET PARAMETER(*MAP)コマンドが発行されます。SERVICE_LISTはこのコマンドの一部として渡されます。ここで定義されるフィールドは、マッピング・リストで使用されるフィールドになります。マッピング・リストは、JSMコマンドのTO_GET部分でも指定する必要があります。
12.     JDBCドライバー、JSMシステムの順に接続を解除します。
13.     フォームを閉じたら、サービスとの接続を解除し、一時ディレクトリをアンロードしてサービスを閉じます。
***************************************************
*