Java 无法使用glassfish创建正常运行的连接池

Java 无法使用glassfish创建正常运行的连接池,java,oracle,glassfish,connection-pooling,Java,Oracle,Glassfish,Connection Pooling,我正在尝试创建一个从glassfish到Oracle的连接池。 当我使用命令行时,在创建过程中似乎一切正常,但应用程序崩溃,出现以下异常: 原因:java.sql.SQLException:协议冲突 位于oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) 位于oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) 位于oracle.jdbc.driver.T4C7Ocommonc

我正在尝试创建一个从glassfish到Oracle的连接池。 当我使用命令行时,在创建过程中似乎一切正常,但应用程序崩溃,出现以下异常:


原因:java.sql.SQLException:协议冲突
位于oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
位于oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
位于oracle.jdbc.driver.T4C7Ocommoncall.doOROLLBACK(T4C7Ocommoncall.java:68)
位于oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:642)
位于oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:3716)
位于com.sun.gjc.spi.base.ConnectionHolder.rollback(ConnectionHolder.java:630)
位于org.hibernate.transaction.JDBCTransaction.rollbackandsetautocommit(JDBCTransaction.java:217)
位于org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:196)

编辑:当应用程序尝试使用JPA执行回滚时,会出现此异常结束编辑

这是我用来创建CP的命令:

asadmin>创建jdbc连接池——重新键入javax.sql.DataSource
--数据源ClassName oracle.jdbc.pool.OracleDataSource
--属性“user=myUser:password=myPw:url=jdbc\\:oracle\\:thin\\:@dbHostName\\:1521\\:myid”My_CP

我还尝试从管理gui创建CP(这将更加用户友好),但即使我在/opt/glassfish3_old/glassfish/domains/domain1/lib中复制了ojdbc6.jar,当我必须选择驱动程序类名时,相应的选择列表也是空的

编辑: 我正在使用: java版本“1.7.0_06” Java(TM)SE运行时环境(build 1.7.0_06-b24) Java HotSpot(TM)服务器虚拟机(构建23.2-b09,混合模式)

和glassfish 3.1.2.2 oracle版本(但对于3.1.2开源版本,其行为相同)
结束编辑

也许我在某个地方犯了个愚蠢的错误

有人能提出建议吗?

而不是:

url=jdbc\\:oracle\\:thin\\:@dbHostName\\:1521\\:mySID
尝试以下模式

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

类似的线程:也可能是一个驱动程序错误:Thaks Mike。我阅读了链接,但它们不是我的案例。您是否已将驱动程序复制到正确的目录并重新启动实例?是的,我做。我在域的lib目录中复制了ojdbc6.jar。我希望我可以毫无问题地从gui创建CP,但是驱动程序类名的选择列表仍然是空的,所以我不能选择精简库。这是一样的。创建工作正常,但当我通过应用程序使用cp时,它崩溃了。我想知道为什么它不使用瘦驱动程序,就像我设置的那样。