• JDBC 操作插入表出现javax.sql.rowset.serial.SerialBlob cannot be cast to oracle.sql.BLOB


    /**
         * 接口方法
         */
        public void excuteInputDB(SynchServiceConfig synchServiceConfig)
                throws Exception {
            try {
    //          if(!"".equals(queryQdParaWayinfo()))
    //          {
    //              CLOB clob = oracle.sql.CLOB.createTemporary(oraConn, false, oracle.sql.CLOB.DURATION_SESSION);
    //              clob.putString(1, queryQdParaWayinfo());
    //             
    //              insertMyAnnouncement(VALID_WAYINFO_SENDER, curTime, VALID_WAYINFO_TITTLE, clob);//渠道资料缺失提醒推送
    //          }
              if(!"".equals(queryQdSysNetpointuser())){
                  //将String类型转oracle.sql.CLOB类型插入到数据库
                  CLOB cb = oracle.sql.CLOB.createTemporary(oraConn, false, oracle.sql.CLOB.DURATION_SESSION);
                  cb.putString(1, queryQdSysNetpointuser());
                 insertQdSysNetpointuser(VALID_WAYINFO_SENDER, curTime, VALID_EMPLOYEE_TITTLE, cb);//营业员资料缺失提醒推送
              }
              System.out.println("===测试模块END==");
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        /**
         * 获取缺失的渠道资料的数据
         * @throws SQLException 
         */
        private String queryQdParaWayinfo() throws SQLException {
    
            /**
             * way.id-- id vc_wayacctname-- 渠道经理联系人 way.c_wayid-- 网点编号 vc_acctname--
             * 银行帐户名 vc_acctbank-- 开户银行 vc_wayacctno-- 银行帐号 dept_sx1-- 渠道属性
             * c_accttype-- 帐户类型 si_chain-- 店铺属性 c_type-- 连锁属性 dept_sx3-- 星级
             * way.manager_name--渠道经理
             */
            String msg = "";
            String msgs = "";
            
            PreparedStatement ps = null;
            ResultSet rs = null;
            
            String sql = "select way.id, "
                    + " NVL(way.vc_wayacctname, ' ') AS vc_wayacctname, "
                    + " NVL(way.c_wayid, ' ') AS c_wayid, "
                    + " NVL(way.vc_acctname, ' ') AS vc_acctname, "
                    + " NVL(way.vc_acctbank, ' ') AS vc_acctbank, "
                    + " NVL(way.vc_wayacctno, ' ') AS vc_wayacctno, "
                    + " NVL(way.dept_sx1, ' ') AS dept_sx1, "
                    + " NVL(way.c_accttype, ' ') AS c_accttype,"
                    + " NVL(way.si_chain, -9) AS si_chain, "
                    + " NVL(way.c_type, ' ') AS c_type, "
                    + " NVL(way.dept_sx3, ' ') AS dept_sx3, "
                    + " NVL(way.manager_name, ' ') AS manager_name "
                    + " from qd_para_wayinfo way where regexp_like(way.c_wayid,'QD[0-9]{6}') and way.si_waystate = 1 ";
            System.out.println("sql......"+sql);
            try {
                ps = oraConn.prepareStatement(sql);
                rs = ps.executeQuery();
                
                while (rs.next()) {
                    
                    if ("".equals(rs.getString("vc_acctname").trim())) {
                        msg = msg + "银行帐户名为空,";
                    }
                    if ("".equals(rs.getString("vc_acctbank").trim())) {
                        msg = msg + "开户银行为空,";
                    }
                    if ("".equals(rs.getString("vc_wayacctno").trim())) {
                        msg = msg + "银行帐号为空,";
                    }
                    if ("".equals(rs.getString("dept_sx1").trim())) {
                        msg = msg + "渠道属性为空,";
                    }
                    if ("".equals(rs.getString("c_accttype").trim())) {
                        msg = msg + "帐户类型为空,";
                    }
                    if (rs.getInt("si_chain") == -9) {
                        msg = msg + "店铺属性为空,";
                    }
                    if (rs.getInt("si_chain") == 3
                            && "".equals(rs.getString("c_type").trim())) {
                        msg = msg + "连锁属性为空,";
                    }if("".equals(rs.getString("c_wayid").trim())) {
                        msg = msg + "渠道编号为空";
                    }
                    if ("".equals(rs.getString("dept_sx3").trim())) {
                        msg = msg + "星级为空";
                    }
    
                    if (!"".equals(msg)) {
                        
                        msgs = msgs + rs.getString("manager_name") + "|"
                                + rs.getString("c_wayid") + "|" + msg+"|";
                        
                    }
                    msg = "";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                if(rs !=null){rs.close();}
                if(ps !=null){ps.close();}
            }
            
            return msgs;
        }
        /**
         * 插入公告表 qd_anno_myAnnouncement
         * @throws SQLException 
         * */
        private boolean insertMyAnnouncement(long sender,Date send_time,String title,Clob cb) throws SQLException{
            
            
            boolean flag = false;
            PreparedStatement psInsert = null;
            
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            
            try {
                String sql =
                    "insert into qd_anno_myannouncement(id, sender , send_time , title , content ) " +
                    "select qd_anno_myannouncement_seq.nextval,? , ? , ? ,?  from dual ";
                psInsert = oraConn.prepareStatement(sql);
                psInsert.setLong(1, sender);
                
                psInsert.setTimestamp(2, Timestamp.valueOf(sf.format(send_time)));
        
                psInsert.setString(3, title);
                
                psInsert.setClob(4, cb);
                
                int num  = psInsert.executeUpdate();
                
                if(num > 0){
                    flag = true;
                    
                }
                oraConn.commit();
            } catch (Exception e) {
                e.printStackTrace();
                oraConn.rollback();
            }finally{
                  if(psInsert !=null){psInsert.close();}    
            }
        
            return flag;
        }
  • 相关阅读:
    Unity热更新03-C#调用XLua-06-将Lua表 映射到C#的列表和字典
    Unity热更新03-C#调用XLua-05-C#调用Lua函数
    Unity热更新03-C#调用XLua-04-C#调用Lua全局变量
    Unity热更新03-C#调用XLua-03-LuaMgr
    Unity热更新03-C#调用XLua-02-用户自定义加载Lua脚本
    Unity热更新02-Lua基础-016-Lua垃圾回收
    Unity热更新02-Lua基础-015-Lua自带库
    Unity热更新02-Lua基础-014-Lua"面向对象"总结
    Unity热更新02-Lua基础-014-Lua初识"面向对象"
    Unity热更新02-Lua基础-013-Lua元表
  • 原文地址:https://www.cnblogs.com/SHMILYHP/p/4814120.html
Copyright © 2020-2023  润新知