无法使用glassfish创建功能正常的连接池

时间:2012-08-27 13:22:47

标签: java oracle glassfish connection-pooling

我正在尝试创建从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开源版本,它的行为相同)
结束编辑

可能我在某个地方犯了一个愚蠢的错误。

有人可以提出建议吗?

1 个答案:

答案 0 :(得分:0)

而不是:

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

尝试以下模式?

jdbc:oracle:thin:@dbHostName:1521:mySID