午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:266日期:2023-03-06 14:25:34

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

我寫了個代碼片段做測試,用jdbc來調(diào)用對方的存儲過程,可是在調(diào)用后就直接報錯了,錯誤信息如下

com.microsoft.sqlserver.jdbc.SQLServerException: 該語句沒有返回結果集

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

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

解決方法:

  1. 換驅(qū)動包。對方數(shù)據(jù)庫是SQL server2008,我用的是 sqljdbc4-4.0 。直接換了第三方開源的SQL Server數(shù)據(jù)庫的JDBC驅(qū)動程序 jtds1.2。問題解決,調(diào)用存儲過程的時候不再出錯。
  2. 在存儲過程首行添加 set nocount on (這個我沒實驗,因為存儲過程沒在我手里,操作不到)

最后記錄一段jdbc調(diào)用存儲結構的代碼,一個參數(shù),返回結果集

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)用存儲過程
    Class.forName(SERVERDriver);
    Connection conn = DriverManager.getConnection(SERVERURL, SERVERUSERNAME, SERVERPASSWORD);
    System.out.println("sql server連接成功");
    String call = "{call 存儲過程名稱(?)}";
    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();
}
    }
}

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

標簽: MsSQL
主站蜘蛛池模板: 国产激情在线 | 精品久久免费视频 | 久久久国产精品久久久 | 亚洲色图片区 | 激情五月色婷婷 | 久久精品一二区 | 特级大胆西西4444人体 | 欧美在线观看一区二区 | 在线观看毛片网站 | 99精品免费观看 | 一区二区精品在线 | 国产探花一区二区 | 美丽姑娘免费观看在线观看 | 一区二区播放 | 色欧美色 | 日韩中文字幕在线 | 国产成人麻豆精品午夜在线 | 中文天堂在线播放 | 97精品一区| 国产视频在 | 四虎免费在线视频 | 亚洲天堂婷婷 | 综合一区在线 | 久久精品色 | 99热在线看 | 欧美一级淫片aaaaaa | 九色视频在线播放 | 国产精品免费观看视频 | 免费人成在线 | 国产剧情麻豆 | 黄色网址av | 高潮毛片无遮挡 | 99久久国产精 | 黄网在线观看视频 | www.久久久久 | 91精品久久久久久久久 | 免费黄色a | 色超碰| 亚洲无人区码一码二码三码 | 日韩久久一区 | 久草免费在线视频观看 |