/**
* 接口方法
*/
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. Dart语言学习(八) dynamic

    dynamic 表示是动态的,数据类型是指任意类型 var a; a = ; a = "Dart"; print(a); dynamic b = ; b = "JavaS ...

  2. python报错使用yum命令报错File &quot;/usr/bin/yum&quot;, line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax问题

    参考链接:https://blog.csdn.net/ltz150/article/details/77870735 1.背景: CentOS 7升级Python到3.6.2后,需要在/usr/bin ...

  3. socketserver模块(实现并发)

    socketserver模块(实现并发) 一.基于UDP协议实现的并发 # 服务端 import socketserver class MyServer(socketserver.BaseReques ...

  4. Python(二) isinstance

    原文链接: http://www.baike.com/wiki/isinstance&prd=jinshan https://www.liaoxuefeng.com/wiki/00143160 ...

  5. NPC脚本界面自定义美化参数说明

    觉得NPC对话界面太单调了 可以自己定义: 在[@main]下面加上 #ACT OPENMERCHANTBIGDLG  参数(WIL文件序号 图片序号 是否可以移动(0,1) 显示位置(0=左上角,1 ...

  6. 【笔记4-商品模块】从0开始 独立完成企业级Java电商网站开发(服务端)

    分类管理模块 数据表结构设计 分类表 CREATE TABLE.mmall_ category' ( 'id' int(11) NOT NULL AUTO_ INCREMENT COMMENT ' 类 ...

  7. 工具 - 正则Cheat sheet

  8. 基于soa的架构

    SOA:Service Oriented Architecture面向服务的架构.也就是把工程拆分成服务层.表现层两个工程.服务层中包含业务逻辑,只需要对外提供服务即可.表现层只需要处理和页面的交互, ...

  9. nm

    nm是names的缩写,功能是列出目标文件的符号清单,常用来查看动态链接库中的函数. nm选项 -a   按照man手册,仅列出调试信息,实际上却是调试信息+正常信息 -A   增加一列显示目标文件, ...

  10. 【转】django 三件套(render,redirect,HttpResponse)

    Django基础必备三件套**: HttpResponse 内部传入一个字符串参数,返回给浏览器. from django.shortcuts import HttpResponse def inde ...