True Cacheが構成されている場合、アプリケーションは、True Cacheまたはプライマリ・データベースのどちらからデータを問い合せるかを決定する必要があります。これを行うには、次の2つの方法があります。

JDBCメソッドによって次の処理が行われます:

  1. クライアント・アプリケーションは、接続のuseTrueCacheDriverConnectionパラメータを使用して、SALESというプライマリ・データベース・アプリケーション・サービスに接続するための論理接続を作成します。
  2. アプリケーションは、論理接続にsetReadOnly(true)またはsetReadOnly(false)のフラグを設定して、SQL文をそれぞれTrue Cacheまたはプライマリ・データベースに送信します。JDBC Thinドライバは、論理接続ごとに、2つの物理接続を内部的に保持します(1つはプライマリ・データベース、もう1つはTrue Cacheに対して)。両方の接続は、データベース・アプリケーション・サービスSALESの作成時に関連付けられました。

JDBCメソッドを次のコードに示します:

static String url_primary = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=?(ADDRESS=(PROTOCOL=tcp)(HOST=primary_host)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=sales)(SERVER=DEDICATED)))";

OracleDataSource ods1 = new oracle.jdbc.pool.OracleDataSource();

ods1.setURL(url_primary);
ods1.setUser(user);
ods1.setPassword(password);

ods1.setConnectionProperty("oracle.jdbc.useTrueCacheDriverConnection","true");

Connection conn1 = ods1.getConnection();

verifyConnection(conn1); // This is connected to primary

conn1.setReadOnly(true)

verifyConnection(conn1); // This is connected to True Cache

conn1.setReadOnly(false)

verifyConnection(conn1); // This is connected back to primary