使用sqlserver官方驱动包调用存储过程遇到的坑及解决方法
发布时间:2025-05-17 01:08:52
作者:益华网络
来源:undefined
浏览量(2)
点赞(2)
摘要:和外部系统做对接,对方提供了一个存储过程,对方为sqlserver数据库,我方为oracle数据库。 需求简单来说就是调用对方的存储过程获得结果,转储到我方库,后续在对数据进行处理。 我写了个代码片段做测试,用jdbc来调用对方的存储过程,可是在调用后就直接报错了,
和外部系统做对接,对方提供了一个存储过程,对方为sqlserver数据库,我方为oracle数据库。
需求简单来说就是调用对方的存储过程获得结果,转储到我方库,后续在对数据进行处理。我写了个代码片段做测试,用jdbc来调用对方的存储过程,可是在调用后就直接报错了,错误信息如下
com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集
我就不理解了,为啥用数据库连接工具调就没问题呢?是有结果集的呀。
疯狂找资料,找帖子。最后终于是找到了。
解决方法:
换驱动包。对方数据库是SQL server2008,我用的是 sqljdbc4-4.0 。直接换了第三方开源的SQL Server数据库的JDBC驱动程序 jtds1.2。问题解决,调用存储过程的时候不再出错。 在存储过程首行添加 set nocount on (这个我没实验,因为存储过程没在我手里,操作不到)最后记录一段jdbc调用存储结构的代码,一个参数,返回结果集
?扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
2