社内SEの徒然なる日記

NetCOBOLで複数のDBに接続したい! No5 接続(複数)

■ 接続

前回までの記事で、複数のデータベースに接続するための方法論の確認までは出来ました。ですが、これまでのサンプルでは実際には1つのデータベースにしか接続していません。

という事で、今回は2つのデータベースに接続します。

IDENTIFICATION                   DIVISION.
PROGRAM-ID. DBTEST00.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
*
WORKING-STORAGE SECTION.
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 H-USERNAME PIC X(010).
01 H-PASSWD PIC X(010).
01 H-DBSTRING PIC X(010).
01 H-DBNAME PIC X(010).
*
01 H-USERNAME2 PIC X(010).
01 H-PASSWD2 PIC X(010).
01 H-DBSTRING2 PIC X(010).
01 H-DBNAME2 PIC X(010).
*
EXEC SQL END DECLARE SECTION END-EXEC.
EXEC SQL INCLUDE SQLCA END-EXEC.
*
PROCEDURE DIVISION.
*
* Oracle接続文字列の設定(DWH)

MOVE "user01" TO H-USERNAME.
MOVE "oracle" TO H-PASSWD.
MOVE "db1" TO H-DBSTRING.
MOVE "setu1" TO H-DBNAME.
*
* Oracle接続(DWH)

EXEC SQL
CONNECT :H-USERNAME IDENTIFIED BY :H-PASSWD
AT :H-DBNAME
USING :H-DBSTRING
END-EXEC.
*
* SQLCODEとメッセージを出力(エラー確認用)

DISPLAY "SQLCODE = "SQLCODE " [" SQLERRMC "]".
*
* Oracle接続文字列の設定(基幹)

MOVE "user02" TO H-USERNAME2.
MOVE "oracle" TO H-PASSWD2.
MOVE "db2" TO H-DBSTRING2.
MOVE "setu2" TO H-DBNAME2.
*
* Oracle接続(基幹)

EXEC SQL
CONNECT :H-USERNAME2 IDENTIFIED BY :H-PASSWD2
AT :H-DBNAME2
USING :H-DBSTRING2
END-EXEC.
*
* SQLCODEとメッセージを出力(エラー確認用)

DISPLAY "SQLCODE = "SQLCODE " [" SQLERRMC "]".
EXIT PROGRAM.


■ 後書き

特に難しいことも無く、接続するための変数とか処理を増やしただけで上手く動きました。ここまでは順調ですね。

さて、次回はトランザクションについて動作を確認したいと思います。

前回:NetCOBOLで複数のDBに接続したい! No4 DML文
次回:NetCOBOLで複数のDBに接続したい! No6 トランザクション

投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する