ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

3.2 データベースへの接続/切断

操作手順

データベースと接続/切断をする場合、以下の手順で行います。

ここでは、DataSourceインタフェースを利用した場合について説明しています。

記述例

データベースと接続/切断をする場合の記述例を以下に説明します。

Hashtable env = new Hashtable();                                  (1)
env.put(Context.INITIAL_CONTEXT_FACTORY,                          (1)
        "com.fujitsu.symfoware.jdbc2.jndisp.SYMContextFactory");  (1)
env.put(Context.PROVIDER_URL,"SYM://myhost:26600");               (1)
InitialContext ctx = new InitialContext(env);                     (1)

DataSource ds = (DataSource)ctx.lookup("jdbc/ds1"); (2)

Connection con = ds.getConnection();                              (3)

con.setAutoCommit(false);                                         (4)
      :
con.commit();                                                     (5)
      :
con.close();                                                      (6)

(1) JNDI環境の指定

(2) JDBCデータソースの取得

(3) データベースとの接続

(4) 自動コミットモードの無効化

(5) トランザクションのコミット

(6) データベースとの接続の切断


以下に各項目の設定方法を示します。

JNDI環境の指定

JNDI APIを使用して下記の形式で指定します。

【記述形式】

Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY,<factory_class_name>);

env.put(Context.PROVIDER_URL,<provider_url>);

InitialContext ctx = new InitialContext(env);

【引数】
<factory_class_name>

サービスプロバイダのクラス名にcom.fujitsu.symfoware.jdbc2.jndisp.SYMContextFactoryを指定します。省略することはできません。

<provider_url>

サービスプロバイダがネーミングサービスにアクセスするためのURLを指定します。省略することはできません。

記述形式は以下のとおりです。

SYM://<host>[:<port_no>]

<host>

ネーミングサービスが動作しているサーバのホスト名またはIPアドレスを指定します。省略することはできません。

<port_no>

ネーミングサービスに接続する際のポート番号を指定します。

省略した場合、26600になります。

JDBCデータソースの取得

JNDIのコンテキストを使用して、JDBCデータソースを取得します。

【記述形式】

DataSource ds =
      (DataSource)ctx.lookup("jdbc/<datasource_name>");

【引数】
<datasource_name>

JDBCデータソース登録時に指定した、JDBCデータソース名を指定します。省略することはできません。

データベースとの接続

データベースと接続します。

自動コミットモードの無効化

自動コミットモードを無効化します。

ConnectionインタフェースのsetAutoCommitメソッドを使用します。

トランザクションのコミット

トランザクションをコミットします。

Connectionインタフェースのcommitメソッドを使用します。

データベースとの接続の切断

データ参照更新などの処理の終了後、データベースとの接続を切断する必要があります。


ネーミングサービスの運用方法については、“5.2.1 ネーミングサービスの起動”を参照してください。


注意

データベースとの接続処理で、アプリケーション実行環境のロケールを認識する前に異常終了すると、英語のエラーメッセージが返却されます。