电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

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

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

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

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

解決方法:

  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)用存儲結(jié)構(gòu)的代碼,一個參數(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)用存儲過程
    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();
}
    }
}

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

標簽: MsSQL
主站蜘蛛池模板: 百方网-百方电气网,电工电气行业专业的B2B电子商务平台 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 | 炉门刀边腹板,焦化设备配件,焦化焦炉设备_沧州瑞创机械制造有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 领先的大模型技术与应用公司-中关村科金 | 泰州物流公司_泰州货运公司_泰州物流专线-东鑫物流公司 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 |