我正在尝试创建从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)
编辑:当应用程序尝试使用JPA进行回滚时,会抛出此异常。 结束编辑
这是我用来创建CP的命令:
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)
我还尝试从admin gui创建CP(这将更加用户友好),但即使我在/ opt / glassfish3_old / glassfish / domains / domain1 / lib中复制了ojdbc6.jar,当我不得不选择驱动程序类名,相应的选择列表为空!
修改: 我正在使用: 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开源版本,它的行为相同)
结束编辑
可能我在某个地方犯了一个愚蠢的错误。
有人可以提出建议吗?
答案 0 :(得分:0)
而不是:
url=jdbc\\:oracle\\:thin\\:@dbHostName\\:1521\\:mySID
尝试以下模式?
jdbc:oracle:thin:@dbHostName:1521:mySID