【发布时间】:2015-02-04 14:40:06
【问题描述】:
我正在尝试通过 eclipse 3.4 jdk 1.5 tomcat 6 连接到 oracle 11g
当我尝试使用以下代码创建数据库连接时出现此错误
java.sql.Connection 配置 =DriverManager.getConnection("jdbc:oracle:thin:@localhost::","用户名","密码");
堆栈跟踪如下:
java.sql.SQLException: 没有更多数据可以从套接字读取
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1157)
at oracle.jdbc.driver.T4C8TTIpro.receive(T4C8TTIpro.java:129)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1162)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.Display.doGet(Display.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
我已经替换了我的 ojdbc5.jar 以使用 jre 1.5,我认为 jar 文件可能存在问题。
我已使用以下查询检查了我的v$session 表中的活动连接数
select server,machine,status from v$session;
返回了 32 个条目,其中 27 个条目的状态为 ACTIVE。此外,服务器是专用的。
我在某处读到,池中的大多数连接都处于非活动状态,但在我的情况下,大多数连接都是活动的。我不知道为什么会这样,或者问题是因为这个。
我还按照现有帖子之一的建议将 oracle 参数设置为 “_optim_peek_user_binds”=false
但到目前为止没有任何帮助。任何帮助,将不胜感激。谢谢
【问题讨论】:
-
请发布确切问题发生的代码/服务方法
-
问题出在 servlet 的 doGet 方法中。项目是简单的动态网络项目。
-
执行此语句时引发异常 java.sql.Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost::","username","password");跨度>
-
请求您发布加载驱动程序等的代码。
-
@sneha
Class.forName("oracle.jdbc.driver.OracleDriver");在调用 getConnection 方法之前被调用了吗?