关于SQL2008【没有返回结果集】的解决方法 .
2015-04-29 00:00
183 查看
源地址:http://blog.sina.com.cn/s/blog_7120cef801017mk3.html
最近公司要把SQL2000升级到SQL2008,在升级之后经常出现“该语句没有返回结果集”的报错提示,几经查找处理无果,后来因为一个小坚持,最后发现了问题所在。我相信我们的代码,相信我们的系统,哈哈。
这期间我曾经怀疑过数据库的选项设置有问题,也怀疑过数据库驱动有问题,但是最初没有找到线索。我把正式站点的数据库设置与开发站点的一一对比,没有相异的地方,也检查过数据库驱动,lib里面含有sqljdbc4.jar,似乎也没问题,但是问题恰恰就出现在驱动这里。
如果你来不及看博文,可以直接跳到最后,其中第2点解决方法也许会没留意到。
1.网上查找到的解决方法:set nocount on
网上基本上给出的解决方法就是使用set nocounton,说是SQL2005后对SQL语法较为严谨,原本能在2000上跑的语句到了2005或者2008就不行了。一般出现这种情况是因为写的脚本中先进行增删改,最后又通过select想把结果查出来,此时使用executeQuery()就会报错。
这种处理方法是在你写的SQL中或是存储过程中写上set nocount on 与set nocount off即可,示例如下:
set nocount on
your sql
set nocount off
这种方法基本上可以解决“没有返回结果集”的问题,如果你尝试之后仍然报错,别泄气,接下来看第2中处理方法,或许对你有帮助。
2.数据库驱动的解决方法:
如果1中的方法无效,那么很大程度你忽略了一个问题,那就是数据库驱动。请检查你是否在用sqljdbc.jar,或是带1的版本,类似sqljdbc1xxx.jar。马上把它删掉,确保你在用sqljdbc4.jar这个版本的驱动,而且sqljdbc1xxx.jar不能与sqljdbc4.jar同存,同存会导致系统优先使用sqljdbc1xxx.jar,从而引发在执行SQL出现不兼容问题。最好把WEBSERVICE与项目下的lib文件夹都检查一遍。
我就是通过删除旧版本的sqljdbc.jar,改用sqljdbc4.jar来解决这个问题的。
最近公司要把SQL2000升级到SQL2008,在升级之后经常出现“该语句没有返回结果集”的报错提示,几经查找处理无果,后来因为一个小坚持,最后发现了问题所在。我相信我们的代码,相信我们的系统,哈哈。
这期间我曾经怀疑过数据库的选项设置有问题,也怀疑过数据库驱动有问题,但是最初没有找到线索。我把正式站点的数据库设置与开发站点的一一对比,没有相异的地方,也检查过数据库驱动,lib里面含有sqljdbc4.jar,似乎也没问题,但是问题恰恰就出现在驱动这里。
如果你来不及看博文,可以直接跳到最后,其中第2点解决方法也许会没留意到。
1.网上查找到的解决方法:set nocount on
网上基本上给出的解决方法就是使用set nocounton,说是SQL2005后对SQL语法较为严谨,原本能在2000上跑的语句到了2005或者2008就不行了。一般出现这种情况是因为写的脚本中先进行增删改,最后又通过select想把结果查出来,此时使用executeQuery()就会报错。
这种处理方法是在你写的SQL中或是存储过程中写上set nocount on 与set nocount off即可,示例如下:
set nocount on
your sql
set nocount off
这种方法基本上可以解决“没有返回结果集”的问题,如果你尝试之后仍然报错,别泄气,接下来看第2中处理方法,或许对你有帮助。
2.数据库驱动的解决方法:
如果1中的方法无效,那么很大程度你忽略了一个问题,那就是数据库驱动。请检查你是否在用sqljdbc.jar,或是带1的版本,类似sqljdbc1xxx.jar。马上把它删掉,确保你在用sqljdbc4.jar这个版本的驱动,而且sqljdbc1xxx.jar不能与sqljdbc4.jar同存,同存会导致系统优先使用sqljdbc1xxx.jar,从而引发在执行SQL出现不兼容问题。最好把WEBSERVICE与项目下的lib文件夹都检查一遍。
我就是通过删除旧版本的sqljdbc.jar,改用sqljdbc4.jar来解决这个问题的。
相关文章推荐
- 关于SQL2008【没有返回结果集】的解决方法 .
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- 关于ace_task中wait函数一直没有返回一种解决方法(正解)
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- (转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- 关于C#操作PPT时遇到的“对COM组件的调用返回了错误HRESULT E_FAIL”错误的解决方法
- 关于Android中调用了post方法后貌似没有执行run方法的解释及解决办法
- jquery ajax 不执行赋值,return没有返回值的解决方法
- 关于Ubuntu没有声音的解决方法
- IE6 中 window.location.href 不能跳转 以及关于a标签点击返回顶部的解决方法
- 关于linux安装mysql没有初始化密码、忘记密码、无法远程连接的解决方法
- 关于iOS导航栏返回按钮问题的解决方法
- 关于锚点页内链接跳转出现问题(不响应,没有反应)的解决方法(ZT)
- jquery ajax return没有返回值的解决方法,需要的朋友可以参考下。
- 关于运行VBS文件提示“没有在该机执行windows脚本宿主的权限。请与系统管理员联系。”错误的解决方法
- 关于脚本log返回乱码解决方法
- fragment没有getWindowManager 关于fragment下的报错解决方法
- 解决插入语句问题:com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集