ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

1.2 コネクション

ここでは、コネクションの概要、コネクションの接続および切断について説明します。

コネクションとは

コネクションとは、クライアントのアプリケーションがサーバのSymfoware/RDBデータベースにアクセスするために、クライアントとサーバの間を結んだ接続関係のことです。アプリケーションがデータベースシステムとコネクションをもつことによって、そのデータベースシステムの資源を操作することができます。

コネクションの接続

アプリケーションとサーバとのコネクションの接続は、CONNECT文で行います。また、コネクションを接続することにより、SQL文を実行することができます。

コネクションの切断

アプリケーションとサーバとのコネクションの切断は、DISCONNECT文で行います。コネクションの切断は、CONNECT文で接続したコネクションに対して実行できます。また、トランザクションは終了した状態で実行します。

コネクションのプログラミング概要を以下に示します。

[アプリケーション]

:
EXEC SQL  CONNECT TO  'DB01' AS 'C1';                          … (1)
                          :
EXEC SQL
 SELECT 在庫数量, 倉庫番号 INTO  :H1, :H2 FROM S.T             … (2)
                                          WHERE 倉庫番号=2 ;
                          :
EXEC SQL  COMMIT WORK ;                                        … (3)
                          :
EXEC SQL  DISCONNECT  'C1' ;                                   … (4)
                          :
              :
EXEC SQL  CONNECT TO  'SV1'  AS 'C2'  USER 'U/PW' ;            … (5)
                          :
EXEC SQL
 SELECT  在庫数量, 倉庫番号 INTO  :H1, :H2 FROM S1.T1          … (6)
                                           WHERE 倉庫番号=2 ;
                          :
EXEC SQL  COMMIT WORK ;                                        … (7)
                          :
EXEC SQL  DISCONNECT  'C2' ;                                   … (8)
                          :

(1)~(4)は、ローカルアクセスの場合です。(5)~(8)は、リモートアクセスの場合です。

(1) CONNECT文にデータベース名を指定することにより、ローカルのサーバ上にある“DB01”に対して“C1”のコネクションを接続します。

(2) コネクションを接続した“DB01”に対して単一行SELECT文を実行します。

(3) “DB01”に対してのトランザクションを終了します。

(4) DISCONNECT文により、“DB01”に対して“C1”のコネクションを切断します。

(5) CONNECT文にSQLサーバ名、ユーザID、パスワードを指定することにより、リモートのサーバ“SV1”に対して“C2”のコネクションを接続します。

(6) コネクションを接続した“SV1”に対して単一行SELECT文を実行します。

(7) “SV1”に対してのトランザクションを終了します。

(8) DISCONNECT文により、“SV1”に対して“C2”のコネクションを切断します。