Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編 |
目次
索引
![]() ![]() |
第6章 クライアント・サーバ | > 6.3 複数コネクション |
複数コネクションの切断は、CONNECT文で接続した、それぞれのコネクションに対してDISCONNECT文で行います。コネクションを切断する場合は、トランザクションは終了した状態でなければなりません。
図:複数コネクションを切断するプログラミングの概要に、複数コネクションを切断するプログラミングの概要を示します。
[応用プログラム]
EXEC SQL CONNECT TO 'DB01' AS 'C1' ; (1)* 〜 * EXEC SQL SELECT 在庫数量,倉庫番号 INTO :H1, :H2 FROM 在庫表 (2)* WHERE 在庫数量=300; * 〜 * EXEC SQL COMMIT WORK ; (3)* 〜 * EXEC SQL CONNECT TO 'DB02' AS 'C2' ; (4)* 〜 *ローカルアクセス EXEC SQL INSERT INTO 伝票( 在庫カラム, 倉庫カラム) VALUES(:H1,:H2); (5)*の場合 〜 * EXEC SQL COMMIT WORK ; (6)* 〜 * EXEC SQL DISCONNECT 'C1' ; (7)* 〜 * EXEC SQL DISCONNECT 'C2' ; (8)* 〜 〜 EXEC SQL CONNECT TO 'SV3' AS 'C3' USER 'U3/PASS3' ; (9)* 〜 * EXEC SQL SELECT 在庫数量,倉庫番号 INTO :H1, :H2 FROM 在庫表1 (10)* WHERE 在庫数量=300 ; * 〜 * EXEC SQL COMMIT WORK ; (11)* 〜 * EXEC SQL CONNECT TO 'SV4' AS 'C4' USER 'U4/PASS4' ; (12)* 〜 *リモートアクセス EXEC SQL INSERT INTO 伝票1( 在庫カラム, 倉庫カラム) (13)*の場合 〜 VALUES(:H1,:H2) ; * EXEC SQL COMMIT WORK ; (14)* 〜 * EXEC SQL DISCONNECT 'C3' ; (15)* 〜 * EXEC SQL DISCONNECT 'C4' ; (16)* |
(1) 1回目のCONNECT文により“DB01”に対して“C1”のコネクションを接続します。
(2) “DB01”の在庫表から単一行SELECT文で在庫数量と倉庫番号を取り出します。
(3) (2)の操作に対して、トランザクションを終了します。
(4) 2回目のCONNECT文により、“DB02”に対して“C2”のコネクションを接続します。
(5) “DB02”の伝票の在庫カラムと倉庫カラムに、“DB01”から取り出した在庫数量と倉庫番号を追加します。
(6) (5)の操作に対して、トランザクションを終了します。
(7) “DB01”に対して“C1”のコネクションを切断します。
(8) “DB02”に対して“C2”のコネクションを切断します。
(9) 3回目のCONNECT文により、サーバ“SV3”に対して“C3”のコネクションを接続 します。
(10) サーバ“SV3”の在庫表1から、単一行SELECT文で在庫数量と倉庫番号を取り出します。
(11) (10)の操作に対して、トランザクションを終了します。
(12) 4回目のCONNECT文により、サーバ“SV4”に対して“C4”のコネクションを接続します。
(13) サーバ“SV4”の伝票1の在庫カラムと倉庫カラムに、サーバ“SV3”から取り出した在庫数量と倉庫番号を追加します。
(14) (13)の操作に対して、トランザクションを終了します。
(15) サーバ“SV3”に対して“C3”のコネクションを切断します。
(16) サーバ“SV4”に対して“C4”のコネクションを切断します。
目次
索引
![]() ![]() |