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.三种关系: * 一对多: * 一 ...
随机推荐
- 使用dockerfile构建镜像并在容器中安装软件遇到的问题
今天想在容器中安装一个pigz插件,于是就在dockerfile中使用RUN命令RUN apt-get install -y pigz结果构建镜像的时候报错Unable to locate packa ...
- 题解 SP7579 YOKOF - Power Calculus
SP7579 YOKOF - Power Calculus 迭代加深搜索 DFS每次选定一个分支,不断深入,直至到达递归边界才回溯.这种策略带有一定的缺陷.试想以下情况:搜索树每个节点的分支数目非常多 ...
- Delphi XE FireDac 连接池
在开发Datasnap三层中,使用FireDac 连接 MSSQL数据库. 实现过程如下: 1.在ServerMethods 单元中放入 FDManager.FDPhysMSSQLDriverLin ...
- 【代码学习】PYTHON 进程
一.进程和程序的区别 编写完毕的代码,在没有运行的时候称之为程序 正在运行的代码,称之为进程 进程除了包含的代码意外,还需要运行的环境等 二.fork import os import time # ...
- C语言程序设计(一)
目录: 1. 向屏幕输出一行文字 2. 输出两个函数的和 3. 函数一 4. 函数二 5. 求两个数的最大值 6. printf和scanf函数的返回值 7. 输入一个成绩,输出所对应的 ...
- java 面试题 mybatis 篇
1. 一级缓存和二级缓存? 一级缓存策略: 二级缓存策略: 2. 缓存回收策略 LRU – 最近最少使用的:移除最长时间不被使用的对象. FIFO – 先进先出:按对象进入缓存的顺序来移除它们. ...
- Java编译器的常量优化
/* 在给变量进行赋值的时候,如果右侧的表达式当中全都是常量,没有任何变量, 那么编译器javac将会直接将若干个常量表达式计算得到结果. short result = 5 + 8; // 等号右边全 ...
- 洛谷 P3865 【模板】ST表(模板)
嗯... 题目链接:https://www.luogu.com.cn/problem/P3865 ST(Sparse Table)算法,运用了倍增的思想. 我们令f[i][k]数组表示区间[i, i ...
- 本地简单HTTP服务器
cd进要启动服务器的目录 python -m http.server 7800 (Python 3.x) python -m SimpleHTTPServer 7998 (Pyhton2.x)
- python的空格和tab混用报错问题
python中的空格和tab键不能混用,如果则会报类似如下的错误: IndentationError: unindent does not match any outer indentation le ...