さまざまなデータ・ソースで移植可能なアプリケーションを作成する必要がある場合は、DataSource インターフェースを使用します。
DriverManager を使用してデータ・ソースに接続すると、アプリケーションは、特定の JDBC ドライバー・クラス名とドライバー URL を識別しなければならなくなるので、移植性が低下します。 ドライバー・クラス名とドライバー URL は、JDBC ベンダー、ドライバーの実装、データ・ソースによって異なります。
DataSource インターフェースによってデータ・ソースに接続する場合は、DataSource オブジェクトを使用します。
DataSource オブジェクトを使用するための最も簡単な方法は、DriverManager インターフェースの場合のように、オブジェクトの作成と使用を同じアプリケーションで実行することです。 ただし、この方法では移植性が得られません。
DataSource オブジェクトを使用する最善の方法は、システム管理者が WebSphere® Application Server などのツールを使用して、オブジェクトの作成と管理を別途行うようにすることです。 DataSource オブジェクトを作成して管理するプログラムでは、Java™ Naming and Directory Interface (JNDI) も使用して、論理名を DataSource オブジェクトに割り当てます。 DataSource オブジェクトを使用する JDBC アプリケーションでは、その論理名でオブジェクトを参照できるので、基礎になっているデータ・ソースの情報が不要になります。 さらに、システム管理者がデータ・ソースの属性を変更する場合でも、アプリケーション・プログラムを使用する側でアプリケーション・プログラムを変更する必要はありません。
http://www.ibm.com/software/webservers/appserv/
DataSource オブジェクトを自分でデプロイする方法については、『DataSource オブジェクトの作成およびデプロイ』を参照してください。
DataSource インターフェースと DriverManager インターフェースを同じアプリケーションで使用することは可能ですが、移植性を最大限に高めるために、DataSource インターフェースだけを使用して接続を取得することをお勧めします。
システム管理者が既に作成して論理名を割り当てた DataSource オブジェクトを使用して接続を取得するには、以下の手順を実行します。
システム管理者が作成した DataSource オブジェクトを使用して接続を取得する例: この例で接続する必要があるデータ・ソースの論理名は、jdbc/sampledb です。 選択されたステートメントの右にある番号は、以前に説明されたステップに対応しています。
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
…
Context ctx=new InitialContext(); 2
DataSource ds=(DataSource)ctx.lookup("jdbc/sampledb"); 3
Connection con=ds.getConnection(); 4
import java.sql.*; // JDBC base
import javax.sql.*; // Additional methods for JDBC
import com.ibm.db2.jcc.*; // IBM Data Server Driver for JDBC and SQLJ 1
// interfaces
DB2SimpleDataSource dbds=new DB2SimpleDataSource(); 2
dbds.setDatabaseName("dbloc1"); 3
// Assign the location name
dbds.setDescription("Our Sample Database");
// Description for documentation
dbds.setUser("john");
// Assign the user ID
dbds.setPassword("dbadm");
// Assign the password
Connection con=dbds.getConnection(); 4
// Create a Connection object
注 | 説明 |
---|---|
1 | DataSource インターフェースの実装が含まれているパッケージをインポートします。 |
2 | DB2SimpleDataSource オブジェクトを作成します。 DB2SimpleDataSource は、DataSource インターフェースの IBM® Data Server Driver for JDBC and SQLJ 実装の 1 つです。 DB2 の DataSource 実装については、『DataSource オブジェクトの作成およびデプロイ』を参照してください。 |
3 | setDatabaseName メソッド、setDescription メソッド、setUser メソッド、setPassword メソッドによって、DB2SimpleDataSource オブジェクトに属性を割り当てます。 IBM Data Server Driver for JDBC and SQLJ 使用時に DB2SimpleDataSource オブジェクトに設定できる属性については、『IBM Data Server Driver for JDBC and SQLJ のプロパティー』を参照してください。 |
4 | DB2SimpleDataSource オブジェクト dbds に対応するデータ・ソースへの接続を確立します。 |