3 つの方式とは、2 とおりです。
.-,--------------------. V | (1) >>-jdbc--:--db2--:--subsystem--:--pdqProperties--=----+-key-- -value-----+-+--;----->< '-key--(--value--)-'
.-,--------------------. V | (1) >>-jdbc--:--db2--:--//--server--+---------+--/--database-or-subsystem--:--pdqProperties--=----+-key-- -value-----+-+--;----->< '-:--port-' '-key--(--value--)-'
java.util.Properties myPdqProperties = new java.util.Properties(); myPdqProperties.put("pdq.captureMode","ON");
DB2SimpleDataSource dbsrc = new DB2SimpleDataSource (); dbsrc.setServerName ("serv1.jke.com"); dbsrc.setDatabaseName ("STLEC1"); dbsrc.setPortNumber (446); dbsrc.setUser ("sysadm"); dbsrc.setPassword ("passw0rd"); dbsrc.setDriverType (4); dbsrc.setPdqProperties("captureMode(on),pureQueryXml(Sample22.xml)"); Connection con = dbsrc.getConnection ();
DataSource オブジェクトで プロパティーを設定できます。4 つの異なるタイプの DataSource オブジェクトを使用できます。
4 つのすべての DataSource オブジェクトがこのメソッドを実装します。
public void setPdqProperties(String properties);
Oracle のオブジェクトを拡張するいずれかの DataSource オブジェクトを使用するには、以下のいずれかのドライバーを使用して、Oracle データベースに接続する必要があります。
これらすべての オブジェクトは、DataDirect および Oracle のオリジナルのオブジェクトにある public メソッドを実装します。
例えば、OracleConnectionPoolDataSource オブジェクトにプロパティーを設定するコードは、次のようになります。
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource(); ocpds.setDriverType("oci8"); ocpds.setServerName("dlsun999"); ocpds.setNetworkProtocol("tcp"); ocpds.setDatabaseName("816"); ocpds.setPortNumber(1521); ocpds.setUser("scott"); ocpds.setPassword("tiger"); PooledConnection pc = ocpds.getPooledConnection(); Connection conn = pc.getConnection();
以下のコード例は、EnhancedConnectionPoolDatasourceForOracle オブジェクトにプロパティーを設定する方法を示します。
EnhancedConnectionPoolDatasourceForOracle ecpdfo = new EnhancedConnectionPoolDatasourceForOracle(); ecpdfo.setDriverType("oci8"); ecpdfo.setServerName("dlsun999"); ecpdfo.setNetworkProtocol("tcp"); ecpdfo.setDatabaseName("816"); ecpdfo.setPortNumber(1521); ecpdfo.setUser("scott"); ecpdfo.setPassword("tiger"); ecpdfo.setPdqProperties("captureMode(on),pureQueryXml(Sample22.xml)"); PooledConnection pc = ecpdfo.getPooledConnection(); Connection conn = pc.getConnection();