0

Glassfish から Oracle への接続プールを作成しようとしています。コマンドラインを使用すると、作成中にすべてが機能しているように見えますが、アプリケーションは次の例外でクラッシュしました:

Caused by: java.sql.SQLException: Protocol violation at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4C7Ocommoncall.doOROLLBACK(T4C7Ocommoncall.java:68) at oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:642) at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:3716) at com.sun.gjc.spi.base.ConnectionHolder.rollback(ConnectionHolder.java:630) at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:217) at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:196)

EDIT : この例外は、アプリケーションが JPA を使用してロールバックを実行しようとすると発生します。編集終了

これは、CP の作成に使用したコマンドです。
asadmin> create-jdbc-connection-pool --restype javax.sql.DataSource --datasourceclassname oracle.jdbc.pool.OracleDataSource --property "user=myUser:password=myPw:url=jdbc\\:oracle\\:thin\\:@dbHostName\\:1521\\:mySID" My_CP

また、管理 GUI から CP を作成しようとしましたが (そのほうがユーザー フレンドリーです)、/opt/glassfish3_old/glassfish/domains/domain1/lib に ojdbc6.jar をコピーしたとしても、ドライバーを選択する必要があります。 classname 対応する選択リストが空です!

編集:私は使用しています: Java バージョン "1.7.0_06" Java(TM) SE ランタイム環境 (ビルド 1.7.0_06-b24) Java HotSpot(TM) サーバー VM (ビルド 23.2-b09、混合モード)

およびglassfish 3.1.2.2 Oracleバージョン(ただし、3.1.2オープンソースバージョンでは同じように動作します)
END EDIT

おそらく私はどこかでばかげたエラーをしています。

誰でも提案できますか?

4

1 に答える 1

0

Instead of:

url=jdbc\\:oracle\\:thin\\:@dbHostName\\:1521\\:mySID

try with following pattern?

jdbc:oracle:thin:@dbHostName:1521:mySID
于 2012-08-27T13:52:43.047 に答える