应用开发

使用sqlserver官方驱动包调用存储过程遇到的坑及解决方法

时间:2010-12-5 17:23:32  作者:人工智能   来源:IT科技类资讯  查看:  评论:0
内容摘要:和外部系统做对接,对方提供了一个存储过程,对方为sqlserver数据库,我方为oracle数据库。需求简单来说就是调用对方的存储过程获得结果,转储到我方库,后续在对数据进行处理。 我写

和外部系统做对接,使用对方提供了一个存储过程,官过程对方为sqlserver数据库,驱法我方为oracle数据库。动包调用的坑需求简单来说就是存储调用对方的存储过程获得结果,转储到我方库,及解决方后续在对数据进行处理。使用

我写了个代码片段做测试,官过程用jdbc来调用对方的驱法存储过程,可是动包调用的高防服务器在调用后就直接报错了,错误信息如下

使用sqlserver官方驱动包调用存储过程遇到的坑及解决方法

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

使用sqlserver官方驱动包调用存储过程遇到的坑及解决方法

我就不理解了,存储为啥用数据库连接工具调就没问题呢?及解决方是有结果集的呀。

使用sqlserver官方驱动包调用存储过程遇到的坑及解决方法

疯狂找资料,使用找帖子。官过程最后终于是驱法找到了。

解决方法:

换驱动包。对方数据库是SQL server2008,我用的是源码库 sqljdbc4-4.0 。直接换了第三方开源的SQL Server数据库的JDBC驱动程序 jtds1.2。问题解决,调用存储过程的时候不再出错。 在存储过程首行添加 set nocount on (这个我没实验,因为存储过程没在我手里,操作不到)

最后记录一段jdbc调用存储结构的代码,一个参数,返回结果集

?

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap