求高手支招:java.sql.SQLException: Io 异常: Socket closed,数据库是orcle 的,
[01九月201321:19:16,750]ERROR[Timer-0](OracleSession.java:147)-SQL=selectnvl(sum(t.dsco...
[01 九月 2013 21:19:16,750] ERROR [Timer-0] (OracleSession.java:147) - SQL=select nvl(sum(t.dscore),0) from pa_score t,ucap2.ucap_dept d,ucap2.ucap_user u where t.objectunid=u.user_unid and u.user_depts=d.dept_unid and d.dept_unid = '1A43754AF5D464C73EF8DAFB8A7BE409' and t.ddate in ('20137','20138','20139') and t.scoretype='2'
java.sql.SQLException: Io 异常: Socket closed
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:740)
at oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:3453)
at oracle.jdbc.driver.OracleResultSetMetaData.<init>(OracleResultSetMetaData.java:76)
at oracle.jdbc.driver.ScrollableResultSet.getMetaData(ScrollableResultSet.java:1382)
at com.linewell.core.db.impl.OracleSession.queryForArray(OracleSession.java:114)
at com.linewell.core.db.JDBCTool.doSQLQuery(JDBCTool.java:134)
at com.linewell.cxwas.autoevaluation.EvaluationDeptUtil.getDeptScoreTypeFromByUser(EvaluationDeptUtil.java:192)
at com.linewell.cxwas.autoevaluation.EvaluationManager.windowAutomaticScore(EvaluationManager.java:208)
at com.linewell.cxwas.autoevaluation.EvaluationTimer.run(EvaluationTimer.java:17)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
每次报错的sql语句都是不一样的,求大神赐教!!! 展开
java.sql.SQLException: Io 异常: Socket closed
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:740)
at oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:3453)
at oracle.jdbc.driver.OracleResultSetMetaData.<init>(OracleResultSetMetaData.java:76)
at oracle.jdbc.driver.ScrollableResultSet.getMetaData(ScrollableResultSet.java:1382)
at com.linewell.core.db.impl.OracleSession.queryForArray(OracleSession.java:114)
at com.linewell.core.db.JDBCTool.doSQLQuery(JDBCTool.java:134)
at com.linewell.cxwas.autoevaluation.EvaluationDeptUtil.getDeptScoreTypeFromByUser(EvaluationDeptUtil.java:192)
at com.linewell.cxwas.autoevaluation.EvaluationManager.windowAutomaticScore(EvaluationManager.java:208)
at com.linewell.cxwas.autoevaluation.EvaluationTimer.run(EvaluationTimer.java:17)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
每次报错的sql语句都是不一样的,求大神赐教!!! 展开
3个回答
展开全部
java.sql.SQLException: Io 异常: Socket closed,百度上,你搜下这个杂解决。
另外:
1,确定oracle的驱动包和DB匹配,并已经添加项目。
2,Oracle正常启动。
3,项目所在的主机能够正常连接Oracle
4,核实下用户,密码,URL
5,SQL拿到PLSQL中执行下,看看是否报错。
祝你成功
另外:
1,确定oracle的驱动包和DB匹配,并已经添加项目。
2,Oracle正常启动。
3,项目所在的主机能够正常连接Oracle
4,核实下用户,密码,URL
5,SQL拿到PLSQL中执行下,看看是否报错。
祝你成功
更多追问追答
追问
我已经百度搜索过了,就是因为没找到解决办法,才重新提问的,对于你说的这五点,都是Ok的,因为我这个项目已经正常运行的,就只有这个方法中会报错,而且每次报错的sql语句都不一样,所以我很是困惑,请问还有其他原因么?
追答
[Timer-0] (OracleSession.java:147) - SQL=select nvl(sum(t.dscore),0)
每个sql中都有select nvl(sum(t.dscore),0)这个吗
是不是使用了什么定时器之类的啊
时间相减有问题吗?
只是建议,没搞太懂啊
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是执行SQL语句遍历的时候 数据类型写错了
我遇到的情况
java.sql.SQLException: Io 异常: Socket closed
while(rs.next()){
int id = Integer.parseInt(rs.getString("id"));
String name = rs.getString("name");
ret += String.format("{\"id\":%s",id);
ret += String.format(",\"name\":\"%s\"},",name);
}
之前id写成string类型的了 要和数据库数据类型对应(id为number类型)
我遇到的情况
java.sql.SQLException: Io 异常: Socket closed
while(rs.next()){
int id = Integer.parseInt(rs.getString("id"));
String name = rs.getString("name");
ret += String.format("{\"id\":%s",id);
ret += String.format(",\"name\":\"%s\"},",name);
}
之前id写成string类型的了 要和数据库数据类型对应(id为number类型)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询