国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁(yè)/技術(shù)文章
文章詳情頁(yè)

使用sqlserver官方驅(qū)動(dòng)包調(diào)用存儲(chǔ)過(guò)程遇到的坑及解決方法

【字号: 作者:豬豬瀏覽:108日期:2023-03-06 14:25:34

和外部系統(tǒng)做對(duì)接,對(duì)方提供了一個(gè)存儲(chǔ)過(guò)程,對(duì)方為sqlserver數(shù)據(jù)庫(kù),我方為oracle數(shù)據(jù)庫(kù)。
需求簡(jiǎn)單來(lái)說(shuō)就是調(diào)用對(duì)方的存儲(chǔ)過(guò)程獲得結(jié)果,轉(zhuǎn)儲(chǔ)到我方庫(kù),后續(xù)在對(duì)數(shù)據(jù)進(jìn)行處理。

我寫了個(gè)代碼片段做測(cè)試,用jdbc來(lái)調(diào)用對(duì)方的存儲(chǔ)過(guò)程,可是在調(diào)用后就直接報(bào)錯(cuò)了,錯(cuò)誤信息如下

com.microsoft.sqlserver.jdbc.SQLServerException: 該語(yǔ)句沒(méi)有返回結(jié)果集

我就不理解了,為啥用數(shù)據(jù)庫(kù)連接工具調(diào)就沒(méi)問(wèn)題呢?是有結(jié)果集的呀。

瘋狂找資料,找帖子。最后終于是找到了。

解決方法:

  1. 換驅(qū)動(dòng)包。對(duì)方數(shù)據(jù)庫(kù)是SQL server2008,我用的是 sqljdbc4-4.0 。直接換了第三方開(kāi)源的SQL Server數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序 jtds1.2。問(wèn)題解決,調(diào)用存儲(chǔ)過(guò)程的時(shí)候不再出錯(cuò)。
  2. 在存儲(chǔ)過(guò)程首行添加 set nocount on (這個(gè)我沒(méi)實(shí)驗(yàn),因?yàn)榇鎯?chǔ)過(guò)程沒(méi)在我手里,操作不到)

最后記錄一段jdbc調(diào)用存儲(chǔ)結(jié)構(gòu)的代碼,一個(gè)參數(shù),返回結(jié)果集

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
    final static String SERVERURL = "jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=XXX";
    final static String SERVERDriver = "net.sourceforge.jtds.jdbc.Driver";
    final static String SERVERUSERNAME = "username";
    final static String SERVERPASSWORD = "password";
 
    public static void main(String[] args) {
try {
    //調(diào)用存儲(chǔ)過(guò)程
    Class.forName(SERVERDriver);
    Connection conn = DriverManager.getConnection(SERVERURL, SERVERUSERNAME, SERVERPASSWORD);
    System.out.println("sql server連接成功");
    String call = "{call 存儲(chǔ)過(guò)程名稱(?)}";
    CallableStatement callableStatement = conn.prepareCall(call);
    callableStatement.setString(1, "2022-10-13");
    ResultSet rs = callableStatement.executeQuery();
    while(rs.next()) {
System.out.println(rs.getString("aaa"));
System.out.println(rs.getString("bbb"));
System.out.println(rs.getString("ccc"));
System.out.println(rs.getString("ddd"));
    }
    callableStatement.close();
    conn.close();
} catch (Exception e) {
    e.printStackTrace();
}
    }
}

到此這篇關(guān)于用sqlserver官方驅(qū)動(dòng)包調(diào)用存儲(chǔ)過(guò)程遇到的一個(gè)坑的文章就介紹到這了,更多相關(guān)sqlserver官方驅(qū)動(dòng)包調(diào)用存儲(chǔ)過(guò)程內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: MsSQL
主站蜘蛛池模板: 久久免费公开视频 | 久草视频在线免费看 | 欧美videos娇小 | 中国高清色视频www 中国黄色网址大全 | 久久受www免费人成看片 | 亚洲人成在线播放网站岛国 | 免费高清特黄a 大片 | 久久综合久久久 | 国产精品国产亚洲精品看不卡 | 中美日韩在线网免费毛片视频 | 日产国产精品亚洲系列 | 精品亚洲欧美高清不卡高清 | 99在线视频免费观看 | 国产小说| 亚洲天堂视频在线观看免费 | 亚洲免费视频一区二区三区 | 国产精品久久久久久久专区 | 99国产精品久久久久久久... | 久久骚| 中文字幕日本不卡 | 女人张开腿让男人桶个爽 | 99久久国产综合精品成人影院 | 欧美毛片在线观看 | 国产成年人网站 | 国产精品v免费视频 | 麻豆国产96在线 | 中国 | 国产a网站 | 996re免费热在线视频手机 | 欧美日本国产 | 国产亚洲精品2021自在线 | 日韩一级黄色毛片 | 欧美一区二区亚洲 | 欧美一区二区三区不卡片 | 久久国产网站 | 成人区在线观看免费视频 | 91av观看| 久久精品在现线观看免费15 | 又黄又湿又爽吸乳视频 | 一级片观看 | 久久99国产乱子伦精品免费 | 国产情侣久久精品 |