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;
}
JDBC 操作插入表出现javax.sql.rowset.serial.SerialBlob cannot be cast to oracle.sql.BLOB的更多相关文章
- java.lang.ClassCastException: oracle.sql.CLOB cannot be cast to oracle.sql.CLOB
错误现象: [framework] 2016-05-26 11:34:53,590 -INFO [http-bio-8080-exec-7] -1231863 -com.dhcc.base.db.D ...
- JDBC操作简单实用了IOUtils
package cn.itcast.demo4; import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...
- JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表
本文目录: 1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData 2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData ...
- SQL批量插入表类 SqlBulkInsert
ado.net已经有了sqlBulkCopy, 但是那个用xml格式,网络传输数据量太大. 自己实现了一个,传输尽量少的字节. 性能没对比过,有需要的自己拿去测试. using System.Data ...
- 《精通Oracle SQL(第2版) 》
<精通Oracle SQL(第2版) > 基本信息 作者: (美)Karen Morton Kerry Osborne Robyn Sands Riyaj Shamsud ...
- Oracle SQL执行缓慢的原因以及解决方案
以下的文章抓哟是对Oracle SQL执行缓慢的原因的分析,如果Oracle数据库中的某张表的相关数据已是2亿多时,同时此表也创建了相关的4个独立的相关索引.由于业务方面的需要,每天需分两次向此表中 ...
- Tools - Oracle SQL Developer
Oracle SQL Developer Oracle公司出品的一个免费非开源的用以开发数据库应用程序的图形化工具. 可以浏览数据库对象.运行SQL语句和脚本.编辑和调试PL/SQL语句,也可以创建执 ...
- JDBC操作数据库,第一:jsp插入mysql数据库,坎坷摸索分享
JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢 第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到. 然后在mysql数据 ...
- jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件
day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一 ...
随机推荐
- Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
- webpack初学踩坑记
注意事项: 1. webpack不用装在全局环境下,在哪个项目中使用,就安装在该项目下即可 1. 问题一:npm init 初始化一个项目后,添加webpack.config.js文件,在该项目中通过 ...
- Java_Habse_add
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hb ...
- Raid5(五块磁盘,三块做raid,两块做备份)
1.在虚拟中再添加五块磁盘. 2.使用mdadm命令创建raid5,名称为“/dev/md5”. -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义R ...
- Block Chain Learning Notes
区块链是什么 区块链技术是由比特币创造的,本文也将从比特币开始进行引导,一步一步告诉大家什么是区块链.如果你想立马知道区块链是什么,也可以直接转到文章末尾的区块链定义. 区块链,可能是当下最有前景又充 ...
- ZOJ - 3203 Light Bulb(三分)
题意:灯离地面的高度为$H$,人的身高为$h$,灯离墙的距离为$D$,人站在不同位置,影子的长度不一样,求出影子的最长长度. 思路:设人离灯的距离为$x$,当人走到距离灯长度为$L$时,人在墙上的影子 ...
- RT_THREAD之组件学习
CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪.定位,错误原因自动分析的开源库.支持 ...
- 实验四《Android程序设计》
实验四<Android程序设计> 一.实验内容 1.Android Stuidio的安装测试 2.Activity测试 3.UI测试 4.布局测试 5.事件处理测试 二.实验步骤 第一部分 ...
- ZOJ4114 Flipping Game(2019山东省赛)
有n个开关,有起始状态和终状态,问如果每次必须选m个开关进行改变状态,一共进行k次,那么有多少种方式可以从起始状态到终状态~ #include<bits/stdc++.h> using n ...
- Leetcode 12,452,455-贪心算法
Leetcode第12题,整数转罗马数字,难度中等 整个题目比较好理解,难度也不大,就算不过脑子,用一串if也基本上可以解决问题,比如 /** 执行用时:6ms,在所有 Java 提交中击败了52.6 ...