av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)/技術(shù)文章
文章詳情頁(yè)

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

瀏覽:141日期: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)行處理。

我寫(xiě)了個(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
主站蜘蛛池模板: 91久久国产综合久久91精品网站 | 欧美日韩高清在线 | 国产福利91精品一区二区三区 | 成人性色生活片 | 九九九免费视频 | 青青草国产精品 | 亚洲天码中字 | 亚洲免费大片 | 五月婷婷激情综合 | 亚洲三级黄色片 | 久久久久国产精品夜夜夜夜夜 | 欧美一区二区三区在线 | 欧美午夜精品一区二区 | 久久福利社 | 国产成人免费观看 | 久久夜色精品国产欧美乱极品 | 中文字幕在线免费观看 | 亚洲精品一区二区三 | 在线成人免费视频 | 精品理论片 | 国产高清av | 午夜精品久久久久久 | 二色av| 国产一级特黄 | 精品久久久久久久久久久久久 | 91色网站| 精品黑人一区二区三区国语馆 | 激情导航 | 午夜视频免费观看 | 亚洲欧美视频一区 | 亚洲在线免费观看 | 国产成人97精品免费看片 | 欧美色综合天天久久综合精品 | 欧美一区二区 | 日韩精品一区在线观看 | 谁有毛片网址 | 欧美日韩一区二区三区视频 | 国产免费一区二区三区最新不卡 | 师生出轨h灌满了1v1 | 三年中文在线看免费观看 | 日韩黄色免费视频 |