| Symfoware(R) Server JDBCドライバユーザーズガイド - FUJITSU - |
目次
索引
![]()
|
第3章 アプリケーションの考え方
コネクションについて、以下に分類して説明します。
コネクションとは、JDBCドライバを使用するアプリケーションがSymfoware Serverにアクセスするために結んだ接続関係のことです。アプリケーションがデータベースシステムとコネクションをもつことにより、そのデータベースシステムの資源を操作することができます。
JDBCドライバを使用するアプリケーションからデータベースに接続するためには、以下の2種類の手段があります。
|
パッケージ |
API |
概要 |
|---|---|---|
|
javax.sql |
DataSourceインタフェース |
アプリケーション内でJDBCデータソースを使用して、データベースに接続する方法 |
|
java.sql |
DriverManagerクラス |
アプリケーション内で、接続先のURLを直接指定する方法 |
アプリケーションサーバ上で運用する場合、DataSourceインタフェースの利用を推奨します。
本書では、DataSourceインタフェースを利用した場合を主に説明します。
データソースの設定方法については、“JDBCデータソース登録ツール”を参照してください。
クライアント上でJavaアプレットを運用する場合、DriverManagerクラスを利用してください。DriverManagerクラスの利用については、“DriverManagerクラスからの接続”を参照してください。
JDBCドライバを使用するアプリケーションとデータベースとのコネクションの接続は、DataSourceインタフェースのgetConnectionメソッドで行います。また、コネクションを接続することにより、SQL文を実行することができます。
JDBCドライバを使用するアプリケーションとSymfoware Serverとのコネクションの切断は、Connectionインタフェースのcloseメソッドで行います。コネクションの切断は、DataSourceインタフェースのgetConnectionメソッドで接続したコネクションに対して実行できます。また、トランザクションは終了した状態で実行します。
以下に、コネクションのプログラミング概要を示します。
Hashtable env = new Hashtable(); (1)
env.put(Context.INITIAL_CONTEXT_FACTORY
"com.fujitsu.symfoware.jdbc2.jndisp.SYMContextFactory"); (1)
env.put(Context.PROVIDER_URL,"SYM://myhost:10326"); (1)
InitialContext ctx = new InitialContext(env); (1)
DataSource ds = (DataSource)ctx.lookup("jdbc/ds1"); (2)
Connection con = ds.getConnection(); (3)
:
con.commit(); (4)
con.close(); (5) |
(1) JNDI環境の指定
(2) JDBCデータソースの取得
(3) データベースへの接続
(4) トランザクションの終了
(5) データベースへの接続の切断
以下に各項目のプログラミング方法を示します。
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>ネーミングサービスに接続する際のポート番号を指定します。省略した場合、10326になります。
JNDIのコンテキストを使用して、JDBCデータソースを取得します。
【記述形式】
DataSource ds =(DataSource)ctx.lookup("jdbc/<datasource_name>");
【引数】
<datasource_name>JDBCデータソース登録時に指定した、JDBCデータソース名を指定します。省略することはできません。
データベースと接続します。
DataSourceインタフェースのgetConnectionメソッドを使用します。
トランザクションを終了します。
Connectionインタフェースのcommitメソッドを使用します。
データ参照/更新などの処理の終了後、データベースとの接続を切断する必要があります。
Connectionインタフェースのcloseメソッドを使用します。
3.1.1 コネクションの接続形態
3.1.2 コネクションプーリング
目次
索引
![]()
|