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
おそらく私はどこかでばかげたエラーをしています。
誰でも提案できますか?