| Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU - | 
| 目次
			索引    | 
 第6章 クライアント・サーバ
第6章 クライアント・サーバ
	 6.3 複数コネクション
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(在庫カラム,倉庫カラム) VALUES(:H1,:H2) ; … (13)
                          :
EXEC SQL COMMIT WORK ;                                             … (14)
                          :
EXEC SQL DISCONNECT 'C3' ;                                         … (15)
                          :
EXEC SQL DISCONNECT 'C4' ;                                         … (16) | 
(1)〜(8)は、ローカルアクセスの場合です。(9)〜(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”のコネクションを切断します。
| 目次
			索引    |