2011-01-07 27 views
0

現在接続しているデータベースがダウンすると、あるデータベース・ホストから別のデータベース・ホストにフェイルオーバーする機能が必要です。我々が読んだことから、"透過的アプリケーションフェイルオーバー(TAF)""高速接続フェイルオーバー(FCF)"は、Oracle 10以降でのみ利用可能です。しかし、私たちの環境はOracle 9.2.0.8です。OracleとのJava oci db接続フェイルオーバー9

データベース接続のフェールオーバーを保証する最も優れたJavaソリューションは何でしょうか? ociドライバを使用すると、シンドライバよりも優れたソリューションに見えますが、「Unsatisfied Link Error:ocijdbc11.dllがjava.library.pathにない」という問題が発生しています。私たちはocijdbc11.dllありませんが、我々は$ {ORACLE_HOME}/binに

環境にocijdbc10.dllを持っています:

  • データベース= Oracleは二つのサーバ
  • をサポートするRACと9.2.0.8
  • サーバ=のSolaris 10
  • クライアント=のWindows XP、サービスパック3
  • JDK 1.6.0_20 =
  • 図書館=
  • てojdbc6.jar
  • クライアントには、Oracle Thickクライアント 10.1.0.2がインストールされています。
    MY_SID =
    (DESCRIPTION =
    (FAILOVER =)の
    (ADDRESS =(PROTOCOL = TCP:これは彼らのOracle binディレクトリにtnsnames.oraの

当社の接続文字列を、それらをocijdbc10.dllいます)(HOST = HOST1)(PORT = 1521))
(ADDRESS =(PROTOCOL = TCP)(HOST = HOST2)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = db.fully.qualified.name )
(FAILOVER_MODE =
(TYPE =選択)
(METHOD =基本))))

次のように私たちは、データソースを作成します。

  • のBasicDataSource dsは=新しい
  • のBasicDataSource();
  • ds.setUsername( "username");
  • ds.setPassword( "password");
  • ds.setUrl( "jdbc:oracle:oci:@MY_SID");
  • ds.setDriverClassName( "oracle.jdbc.driver.OracleDriver");

答えて

1

10gクライアントに対して「Unsatisfied Link Error:ocijdbc11.dll not java.library.path」が表示される場合は、11g jdbcドライバを使用しているようです。あなたは10gのjdbcドライバを使用する必要があります。

関連する問題