溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java jdbc 執(zhí)行oracle存儲(chǔ)過程

發(fā)布時(shí)間:2020-07-12 08:25:32 來源:網(wǎng)絡(luò) 閱讀:246 作者:v512345 欄目:關(guān)系型數(shù)據(jù)庫


java代碼

public Connection conn() {
        try {
            // 第一步:加載JDBC驅(qū)動(dòng)
            Class.forName("oracle.jdbc.driver.OracleDriver");
            // 第二步:創(chuàng)建數(shù)據(jù)庫連接
            con = DriverManager.getConnection("jdbc:oracle:thin:@192.177.2.2:1521/db", "test","test");
            return con;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    
    
    
    public List getCanorderTemplateBySms(String version, String orderFrom,String acco, String accoType, String tunnelType, String callFrom) {
        CallableStatement callStat=null;
        ResultSet rs=null;
        List list=new ArrayList();
        String sql = "{call pkg_customerorder.sp_sms_canorder2(?,?,?,?,?,?,?,?,?)}";
        try {
            callStat = this.conn().prepareCall(sql);
            callStat.setString(1,version);
            
            //out
            callStat.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);
            callStat.registerOutParameter(3,oracle.jdbc.OracleTypes.VARCHAR);
            callStat.registerOutParameter(4,oracle.jdbc.OracleTypes.CURSOR);
            //in
            callStat.setString(5, orderFrom); //可訂制渠道 1:客服 2:網(wǎng)站 3: 網(wǎng)站和客服
            callStat.setString(6, acco);//賬號(hào)
            callStat.setString(7, accoType);//1代表客戶編號(hào) 2代表基金賬號(hào)
            callStat.setString(8,tunnelType); //通道類別  0:不分通道 1:普通通道 2:專戶通道
            callStat.setString(9, callFrom);//調(diào)用恒生的接口需傳入固定的參數(shù)9
            callStat.execute();
            
            String result= callStat.getString(2);//獲得返回參數(shù) 返回代碼'0000'表示成功

            if(result!=null && "0000".equals(result.trim())){
                rs=(ResultSet)callStat.getObject(4);
                while(rs.next()){
                    TaskTemp taskTemp = new TaskTemp();
                    if("1".equals(rs.getString(3).trim())){ //基金客戶是否可訂制: 0-不可訂制 1-可訂制
                        taskTemp.setTaskcode(rs.getString(1));
                        taskTemp.setTaskname(rs.getString(2));
                        taskTemp.setBusinsubtype(rs.getString(15)); //分類編號(hào)  需要明天核對(duì)
                        taskTemp.setBusinsubname(rs.getString(16)); //分類名稱 需要明天核對(duì)
                        list.add(taskTemp);
                    }
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    
    
    
    存儲(chǔ)過程

        /*
   * 如下接口為外圍的封裝接口(入?yún)⑷繛樽址?,主要供友商使用,內(nèi)部不推薦使用
   * 功能:查詢客戶當(dāng)前可訂制的短信模板
   * 入?yún)? sInVersion     版本信息
   *       sOrderFrom     可訂制渠道
   *       sAcco          賬號(hào)
   *       sAccotype      賬號(hào)類型     1-客戶編號(hào) 2-基金賬號(hào) 3-交易賬號(hào)(暫不使用)
   *       nTunnelType    通道類型 0:不分通道;default  1:普通通道;  2:專戶通道;
   *       callFrom       調(diào)用來源(恒生系統(tǒng)調(diào)用接口不用傳參數(shù),佳銳等非恒生系統(tǒng)調(diào)用需傳入值9)
   * 出參: sOutResultCode 返回代碼     返回代碼'0000'表示成功
   *       sOutResultInfo 返回信息     成功則返回'成功',否則返回具體失敗原因
   */
  procedure sp_sms_canorder2(
    sInVersion     in  varchar2, --版本信息
    sOutResultCode out varchar2,
    sOutResultInfo out varchar2,
    curOutResult   out refcusor,
    sOrderFrom     in  varchar2, --可訂制渠道
    sAcco          in  varchar2,
    sAccotype      in  varchar2,
    nTunnelType    in  pls_integer := 0,--0:不分通道;default
                                        --1:普通通道;
                                        --2:專戶通道;
    callFrom       in  varchar2    default '5'
  );

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI