Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編
目次 索引 前ページ次ページ

第6章 クライアント・サーバ> 6.3 複数コネクション

6.3.4 複数コネクションの切断

複数コネクションの切断は、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”のコネクションを切断します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006