コネクションについて、以下に分類して説明します。
コネクションとは
コネクションの接続手段
コネクションの接続
コネクションの切断
コネクションとは、JDBCドライバを使用するアプリケーションがSymfoware Serverにアクセスするために結んだ接続関係のことです。アプリケーションがデータベースシステムとコネクションをもつことにより、そのデータベースシステムの資源を操作することができます。
JDBCドライバを使用するアプリケーションからデータベースに接続するためには、以下の2種類の手段があります。
パッケージ | API | 概要 |
---|---|---|
javax.sql | DataSourceインタフェース | アプリケーション内でJDBCデータソースを使用して、データベースに接続する方法 |
java.sql | DriverManagerクラス | アプリケーション内で、接続先のURLを直接指定する方法 |
アプリケーションサーバ上で運用する場合、DataSourceインタフェースの利用を推奨します。
本書では、DataSourceインタフェースを利用した場合を主に説明します。
データソースの設定方法については、“5.2 ネーミングサービスとJDBCデータソース登録ツール”を参照してください。
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.setAutoCommit(false); (4) : con.commit(); (5) con.close(); (6)
(1) JNDI環境の指定
(2) JDBCデータソースの取得
(3) データベースへの接続
(4) 自動コミットモードの無効化
(5) トランザクションのコミット
(6) データベースへの接続の切断
各項目の詳細な設定方法については、“3.2 データベースへの接続/切断”を参照してください。