com.microsoft.sqlserver.jdbc.SQLServerException:该语句没有返回结果集

来源:互联网 发布:淘宝上组装电脑 编辑:程序博客网 时间:2024/05/20 14:16
今天测试一个数据导入功能时,突然系统报出了这样的错误:
--- Check the nextDocOID-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:180)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:99)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:573)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:546)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:99)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:68)

根据日志提示 是在调用数据库一个存储过程 时出错的,
奇怪了,之前同样的程序一直没有发生过问题 (数据库平台为 SQL2005)
仔细回想一下,最近把 jdbc driver的版本做了一次提升,从 sqljdbc-1.1 提升到了 sqljdbc-1.2 , 难道是这里出了问题.
于是把 jdbc driver换回 sqljdbc-1.1,再试,果然没问题了.
到微软的官网上查了一下,原来 sqljdbc-1.2 的确存在这个问题.
看来版本高不一定是件好事啊.

另外,用开源的 jtds 驱动也没有这方面的问题.
0 0
原创粉丝点击