1. /**
  2. * 接口方法
  3. */
  4. public void excuteInputDB(SynchServiceConfig synchServiceConfig)
  5. throws Exception {
  6. try {
  7. // if(!"".equals(queryQdParaWayinfo()))
  8. // {
  9. // CLOB clob = oracle.sql.CLOB.createTemporary(oraConn, false, oracle.sql.CLOB.DURATION_SESSION);
  10. // clob.putString(1, queryQdParaWayinfo());
  11. //
  12. // insertMyAnnouncement(VALID_WAYINFO_SENDER, curTime, VALID_WAYINFO_TITTLE, clob);//渠道资料缺失提醒推送
  13. // }
  14. if(!"".equals(queryQdSysNetpointuser())){
  15. //将String类型转oracle.sql.CLOB类型插入到数据库
  16. CLOB cb = oracle.sql.CLOB.createTemporary(oraConn, false, oracle.sql.CLOB.DURATION_SESSION);
  17. cb.putString(1, queryQdSysNetpointuser());
  18. insertQdSysNetpointuser(VALID_WAYINFO_SENDER, curTime, VALID_EMPLOYEE_TITTLE, cb);//营业员资料缺失提醒推送
  19. }
  20. System.out.println("===测试模块END==");
  21. } catch (Exception e) {
  22. e.printStackTrace();
  23. }
  24.  
  25. }
  26.  
  27. /**
  28. * 获取缺失的渠道资料的数据
  29. * @throws SQLException
  30. */
  31. private String queryQdParaWayinfo() throws SQLException {
  32.  
  33. /**
  34. * way.id-- id vc_wayacctname-- 渠道经理联系人 way.c_wayid-- 网点编号 vc_acctname--
  35. * 银行帐户名 vc_acctbank-- 开户银行 vc_wayacctno-- 银行帐号 dept_sx1-- 渠道属性
  36. * c_accttype-- 帐户类型 si_chain-- 店铺属性 c_type-- 连锁属性 dept_sx3-- 星级
  37. * way.manager_name--渠道经理
  38. */
  39. String msg = "";
  40. String msgs = "";
  41.  
  42. PreparedStatement ps = null;
  43. ResultSet rs = null;
  44.  
  45. String sql = "select way.id, "
  46. + " NVL(way.vc_wayacctname, ' ') AS vc_wayacctname, "
  47. + " NVL(way.c_wayid, ' ') AS c_wayid, "
  48. + " NVL(way.vc_acctname, ' ') AS vc_acctname, "
  49. + " NVL(way.vc_acctbank, ' ') AS vc_acctbank, "
  50. + " NVL(way.vc_wayacctno, ' ') AS vc_wayacctno, "
  51. + " NVL(way.dept_sx1, ' ') AS dept_sx1, "
  52. + " NVL(way.c_accttype, ' ') AS c_accttype,"
  53. + " NVL(way.si_chain, -9) AS si_chain, "
  54. + " NVL(way.c_type, ' ') AS c_type, "
  55. + " NVL(way.dept_sx3, ' ') AS dept_sx3, "
  56. + " NVL(way.manager_name, ' ') AS manager_name "
  57. + " from qd_para_wayinfo way where regexp_like(way.c_wayid,'QD[0-9]{6}') and way.si_waystate = 1 ";
  58. System.out.println("sql......"+sql);
  59. try {
  60. ps = oraConn.prepareStatement(sql);
  61. rs = ps.executeQuery();
  62.  
  63. while (rs.next()) {
  64.  
  65. if ("".equals(rs.getString("vc_acctname").trim())) {
  66. msg = msg + "银行帐户名为空,";
  67. }
  68. if ("".equals(rs.getString("vc_acctbank").trim())) {
  69. msg = msg + "开户银行为空,";
  70. }
  71. if ("".equals(rs.getString("vc_wayacctno").trim())) {
  72. msg = msg + "银行帐号为空,";
  73. }
  74. if ("".equals(rs.getString("dept_sx1").trim())) {
  75. msg = msg + "渠道属性为空,";
  76. }
  77. if ("".equals(rs.getString("c_accttype").trim())) {
  78. msg = msg + "帐户类型为空,";
  79. }
  80. if (rs.getInt("si_chain") == -9) {
  81. msg = msg + "店铺属性为空,";
  82. }
  83. if (rs.getInt("si_chain") == 3
  84. && "".equals(rs.getString("c_type").trim())) {
  85. msg = msg + "连锁属性为空,";
  86. }if("".equals(rs.getString("c_wayid").trim())) {
  87. msg = msg + "渠道编号为空";
  88. }
  89. if ("".equals(rs.getString("dept_sx3").trim())) {
  90. msg = msg + "星级为空";
  91. }
  92.  
  93. if (!"".equals(msg)) {
  94.  
  95. msgs = msgs + rs.getString("manager_name") + "|"
  96. + rs.getString("c_wayid") + "|" + msg+"|";
  97.  
  98. }
  99. msg = "";
  100. }
  101. } catch (Exception e) {
  102. e.printStackTrace();
  103. }finally{
  104. if(rs !=null){rs.close();}
  105. if(ps !=null){ps.close();}
  106. }
  107.  
  108. return msgs;
  109. }
  110. /**
  111. * 插入公告表 qd_anno_myAnnouncement
  112. * @throws SQLException
  113. * */
  114. private boolean insertMyAnnouncement(long sender,Date send_time,String title,Clob cb) throws SQLException{
  115.  
  116. boolean flag = false;
  117. PreparedStatement psInsert = null;
  118.  
  119. SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  120.  
  121. try {
  122. String sql =
  123. "insert into qd_anno_myannouncement(id, sender , send_time , title , content ) " +
  124. "select qd_anno_myannouncement_seq.nextval,? , ? , ? ,? from dual ";
  125. psInsert = oraConn.prepareStatement(sql);
  126. psInsert.setLong(1, sender);
  127.  
  128. psInsert.setTimestamp(2, Timestamp.valueOf(sf.format(send_time)));
  129.  
  130. psInsert.setString(3, title);
  131.  
  132. psInsert.setClob(4, cb);
  133.  
  134. int num = psInsert.executeUpdate();
  135.  
  136. if(num > 0){
  137. flag = true;
  138.  
  139. }
  140. oraConn.commit();
  141. } catch (Exception e) {
  142. e.printStackTrace();
  143. oraConn.rollback();
  144. }finally{
  145. if(psInsert !=null){psInsert.close();}
  146. }
  147.  
  148. return flag;
  149. }

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. finalize()

    本文介绍的是Java里一个内建的概念,Finalizer.你可能对它对数家珍,但也可能从未听闻过,这得看你有没有花时间完整地看过一遍java.lang.Object类了.在java.lang.Obje ...

  2. Python3 post 嵌套json

    目录 python3 post json burpsuite 抓取 python requests 数据包 小结 python3 post json 前些天python3 post出现的小问题做下记录 ...

  3. python自动更新升级失败解决方案

    1,使用python -m pip install --upgrade pip升级失败 2,使用python -m pip install -U --force-reinstall pip依然失败 3 ...

  4. 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:LSTM网络层详解及其应用

    from keras.layers import LSTM model = Sequential() model.add(embedding_layer) model.add(LSTM(32)) #当 ...

  5. Celery异步框架

    一.什么是celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 二.Celery架构 Celery的架构由三部分组成,消息中间 ...

  6. tomcat 开机自启

    d /usr/lib/systemd/system touch tomcat.service chmod 777 tomcat.service vi tomcat.service [Unit]Desc ...

  7. jmeter数据分析,压测实现

    1.开始之前,先介绍下压测的一些基本插件:线程组常用分为三类:user thread , step thread ,ultimate  thread : user thread :最通用的最原始的线程 ...

  8. python学习Day25--正则表达式1

    [知识点] # 所有模块要经历的两个步骤: ① 要操作的概念本身:正则表达式   时间 ② 使用模块取操作它:re                  time 1.正则表达式:一种匹配字符串的规则 # ...

  9. C:数值溢出问题

    当超过一个数据类型能够存放最大的范围时,数值会溢出. 有符号位最高位溢出的区别:符号位溢出会导致数的正负发生改变,但最高位的溢出会导致最高位丢失. #include <stdio.h> i ...

  10. Python爬虫:数据解析 之 xpath

    资料: W3C标准:https://www.w3.org/TR/xpath/all/ W3School:https://www.w3school.com.cn/xpath/index.asp 菜鸟教程 ...