/**
* 接口方法
*/
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的更多相关文章

  1. 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 ...

  2. JDBC操作简单实用了IOUtils

    package cn.itcast.demo4; import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...

  3. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

    本文目录:       1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData        2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData       ...

  4. SQL批量插入表类 SqlBulkInsert

    ado.net已经有了sqlBulkCopy, 但是那个用xml格式,网络传输数据量太大. 自己实现了一个,传输尽量少的字节. 性能没对比过,有需要的自己拿去测试. using System.Data ...

  5. 《精通Oracle SQL(第2版) 》

    <精通Oracle SQL(第2版) > 基本信息 作者: (美)Karen Morton    Kerry Osborne    Robyn Sands    Riyaj Shamsud ...

  6. Oracle SQL执行缓慢的原因以及解决方案

     以下的文章抓哟是对Oracle SQL执行缓慢的原因的分析,如果Oracle数据库中的某张表的相关数据已是2亿多时,同时此表也创建了相关的4个独立的相关索引.由于业务方面的需要,每天需分两次向此表中 ...

  7. Tools - Oracle SQL Developer

    Oracle SQL Developer Oracle公司出品的一个免费非开源的用以开发数据库应用程序的图形化工具. 可以浏览数据库对象.运行SQL语句和脚本.编辑和调试PL/SQL语句,也可以创建执 ...

  8. JDBC操作数据库,第一:jsp插入mysql数据库,坎坷摸索分享

    JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢 第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到. 然后在mysql数据 ...

  9. jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件

    day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一 ...

随机推荐

  1. javacript onclick事件中传递参数

    var user = {id:1, name:'zhangsan'}; var object = '<a onclick="conversion(' + JSON.stringify( ...

  2. SPRING MICROSERVICES IN ACTION

    What is microservice 背景 在微服务的概念成型之前,绝大部分基于WEB的应用都是使用单体的风格来进行构建的.在单体架构中,应用程序作为单个可部署的软件制品交付,所有的UI(用户接口 ...

  3. Clausen Functions (and related series, functions, integrals)

    Since the Clausen functions are intimately related to a number of other important special functions, ...

  4. 对象的上转型和下转型 (instanceof关键字)

    1.对象的上转型,就是多态的一种写法 格式:父类名称 对象名 = new 子类名称(): Animal animal = new Cat(); 含义:右侧创建一个子类对象,把它当作父类来使用 向上转型 ...

  5. 用for循环创建对象

    以下代码Demo: public class TestDemo { public static void main(String[] args) { //以创建5个student为例 int coun ...

  6. JZOJ5915 [2018NOIP模拟] 明日之星(广义后缀自动机,线段树)

    题目描述 给定一棵树,每个节点有一个权值 \(a_i\) 和一个字符串 \(s_i\). q组询问,每次询问一个字符串 S 和两个节点x,y: 求x到y路径上每个节点的字符串在 S 中出现的次数乘上各 ...

  7. fiddler的代理设置

    fiddler通过监听系统的8888端口实现对系统浏览器发出的http报文进行截获监听,因此要使fiddler能够监听到浏览器数据,需要对浏览器设置代理端口 浏览器 <--8888端口代理--& ...

  8. pycharm连接数据库报错Access denied for user 'root'@'localhost' (using password:YES),以及wampserver 2/3个服务器正在运行 问题

    使用mysql版本为mysql5.7,参考下列 https://blog.csdn.net/qq_32969455/article/details/79051932 https://blog.csdn ...

  9. 如何在应用程序中使用ML.NET?

    https://www.cnblogs.com/shanyou/p/9190701.html ML.NET以NuGet包的形式提供,可以轻松安装到新的或现有的.NET应用程序中. 该框架采用了用于其他 ...

  10. Linux - 终端terminal进入交互环境的快捷键

    1. 上一页 ctrl + b 2. 下一页 空格 / ctrl + f 3. 上半页 ctrl + u 4. 下半页 ctrl + d 5. 上一行 k 6. 下一行 j 7. 向上查找 ?key ...