ojdbc14.jar
を使用してOracle 10.2.0.3データベースに接続するJBoss 7(Java 1.7)の下でアプリケーションを実行しています。JBossは2つのバージョンが2つのモジュールにある正しいモジュールからOracle DataSourceドライバを使用しません
同じアプリケーションで別のOracleデータベース(12.1.0.2)に接続する必要があります。そのためにはojdbc7.jar
です。 (; ojdbc#.jar.index
ファイルが作成されます彼らは)
D:\Jboss\jboss-7.2.0.Final\modules\com\Oracle\ojdbc7\main\ojdbc7.jar
D:\Jboss\jboss-7.2.0.Final\modules\com\Oracle\ojdbc14\main\ojdbc14.jar
がmodule.xml
ファイルが正しいと仮定します
各Oracleドライバjar
は、独自のJBossモジュールに入れました。standalone.xml
で
、私は<drivers>
の下に次のことを宣言:私のデータソースの
<driver name="oracle14" module="com.oracle.ojdbc14">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
<driver name="oracle7" module="com.oracle.ojdbc7">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
を、私は次のようでした:Oracleの12データソースに対して実行しようとすると
<datasource jndi-name="java:jboss/datasources/OracleTen" pool-name="OracleTen-DEV" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@ORACLE10DEV:49125:databasename</connection-url>
<driver>oracle14</driver>
...
</datasource>
<datasource jndi-name="java:jboss/datasources/OracleTwelve" pool-name="OracleTwelve-DEV" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@ORACLE12DEV:1521:databasename</connection-url>
<driver>oracle7</driver>
...
</datasource>
、それは使用していますオラクル10ドライバは、コード投げによって証明される:
Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:294)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:357)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:254)
... 18 more
oracle14
ドライバとそれを使用するデータソースをstandalone.xml
にコメントアウトすると、Oracle 12データソースは期待通りに動作します。
これは何らかのクラスローダーの問題だと思いますが、この問題を解決するモジュールではありませんでしたか?両方とも問題なく接続できるようにするにはどうすればよいですか?
Oracle 12のドライバにOracle 10のデータソースを依存させようとはまだ試みていません。
完了。仕事をしているようだ。ありがとう。 – JoshDM