本人在写一个java模块,目的是把数据插入到DB2库中,由于自己在建模时不知何时将表中一个字段由varchar修改成decimal,并且将此表重新建到开发库中,为此导致以前写好的功能模块报错,本人很纳闷,但又不知道什么原因,虽然知道可能是自己造成的,但具体原因却无论如何也想不起来,只能通过一个个可能的问题排查,最终找出是由于修改表的字段类型所致,以下,是建表语句、JAVA代码、和抛出的异常:

java代码:

            in = new FileInputStream(uploadedFile);            pstm = con.prepareStatement("insert into TEST.YSB(XH,YSBNR,JGXH) values((select value(MAX(XH),0)+1 FROM ZJZX.ZJZX_SCYSB),?,?)",pstm.RETURN_GENERATED_KEYS);pstm.setBlob(1, getBlob(in));pstm.setNull(2, Types.VARCHAR);pstm.execute();

表结构如下:

create table TEST.YSB(   XH    DECIMAL(18)            not null      generated by default as identity,   YSBNR BLOB(5242880),   JGXH  DECIMAL(18),);

以上软件运行时,会抛出如下异常:

com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-301, SQLSTATE=07006, SQLERRMC=9, DRIVER=3.50.152
 at com.ibm.db2.jcc.b.wc.a(wc.java:55)
 at com.ibm.db2.jcc.b.wc.a(wc.java:126)
 at com.ibm.db2.jcc.b.tk.b(tk.java:1593)
 at com.ibm.db2.jcc.b.tk.c(tk.java:1576)
 at com.ibm.db2.jcc.t4.db.k(db.java:353)
 at com.ibm.db2.jcc.t4.db.a(db.java:59)
 at com.ibm.db2.jcc.t4.t.a(t.java:50)
 at com.ibm.db2.jcc.t4.tb.b(tb.java:200)
 at com.ibm.db2.jcc.b.uk.Gb(uk.java:2355)
 at com.ibm.db2.jcc.b.uk.e(uk.java:3129)
 at com.ibm.db2.jcc.b.uk.Bb(uk.java:1842)
 at com.ibm.db2.jcc.b.uk.execute(uk.java:1826)
 at com.pdcss.court.zjzx.servlet.UploadExcelServlet.saveZip(UploadExcelServlet.java:318)
 at com.pdcss.court.zjzx.servlet.UploadExcelServlet.saveYsb(UploadExcelServlet.java:294)
 at com.pdcss.court.zjzx.servlet.UploadExcelServlet.processRequest(UploadExcelServlet.java:94)
 at com.pdcss.court.zjzx.servlet.UploadExcelServlet.doPost(UploadExcelServlet.java:143)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
 at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
 at java.lang.Thread.run(Thread.java:619)

如果将上述java代码的第4行修改为

pstm.setNull(2, Types.DECIMAL);

就可以正确无误了,当然解决办法你也可以将表的字段类型修改回varchar。

大意导致Java访问DB2库时导出SQLCODE=-301, SQLSTATE=07006错误相关推荐

  1. MySql数据库记录相差14小时排错,使用Java访问Mysql数据库时出现时区异常的解决方案

    最近遇到1个大坑,A系统迁移到B系统,2边系统 同1个字段 createTime 看到的不一致. 表象: A系统: 2019-6-10 17:34 B系统: 2019-6-11 .... 再次尝试: ...

  2. qt html 库段错误,连接Qwt库时Qt代码中的分段错误

    我试图用一些Qwt小部件创建一个Qt  应用程序,但是当我尝试链接Qwt库时,我发现Qt代码中存在分段错误.我使用的是非常简单的Qt程序,只弹出一个空白窗口:连接Qwt库时Qt代码中的分段错误 #in ...

  3. linux db2表死锁,记录一次问题解决:DB2死锁解决办法(SQLCODE=-911, SQLSTATE=40001)

    (DB2的数据库)在做update更新的时候,发生了死锁.后台报的错误为:SQLCODE=-911, SQLSTATE=40001 ---------------------------------- ...

  4. DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法

    DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法 参考文章: (1)DB2 SQL Error: SQLCODE=-668, SQLSTATE=570 ...

  5. mysql sqlstate 40001_记录一次问题解决:DB2死锁解决办法(SQLCODE=-911, SQLSTATE=40001)

    (DB2的数据库)在做update更新的时候,发生了死锁.后台报的错误为:SQLCODE=-911, SQLSTATE=40001 ---------------------------------- ...

  6. 使用Java访问Mysql数据库时出现时区异常的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 问题来源:将Mysql5.6版本升级到8.0.12版本后,Java在访问Mysql数据库时出现如下异常: java.sql.S ...

  7. jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题

    java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...

  8. svn访问版本库时一直提示: please wait while the repository browser is initializing

    我电脑重新装系统win10后,无论是在路由器还是客户端都无法登录SVN,当然地址是没存在错误的,其中客户端登陆是就出现以下界面(如果是英文版则内容如标题,我是安装一个中文包所以显示如下图的中文): 最 ...

  9. java ibm 2035,C# java 连接 IBM MQ时出现 2035 或 2013认证错误的解决方法

    当C# 或 java 连接 IBM MQ 是出现 2035 或 2013的错误时 java的错误提示: com.ibm.msg.client.jms.DetailedJMSSecurityExcept ...

  10. 出现 DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9 错误的原因及解决方法

    1 错误描述 在通过「DbVisualizer」执行 SQL 语句插入数据的时候,报出如下错误: 2 错误原因 通过观察上述标记出来的错误描述: DB2 SQL Error: SQLCODE = -7 ...

最新文章

  1. java-自定义数据排序
  2. C#语言编程之抽象类与接口的比较
  3. H3C S5120-52P-WiNet交换机配置
  4. springboot 实现策略模式
  5. Hibernate框架之入门配置
  6. 5.1.8 DELETE删除数据
  7. 2021大数据1班《Python程序设计基础》学生学期总结
  8. (转)asp.net c#如何采集需要登录的页面?
  9. java的学习内容,附高频面试题合集
  10. email地址格式怎么设置?申请个人电子邮件地址怎么写?
  11. IDEA的界面布局折腾(Main Menu主菜单栏消失的问题)
  12. 传感器与检测技术考试
  13. java开发app教程,就是这么简单
  14. sv编程语言_sv零星知识点
  15. 遗传算法关于多目标优化python(详解)
  16. 在线安装计算机应用软件,计算机应用与网络基础教程 常用软件安装new.ppt
  17. shell之read用法
  18. 把图片修改为单色图片
  19. VR入门-02(在场景中显示出手)
  20. 图像处理之Bolb分析(一)

热门文章

  1. 乌班图系统安装mysql
  2. Studio 3T for MongoDB 激活破解脚本
  3. 计算机408考研笔记汇总
  4. Python对象转json【包括嵌套对象转json,django的model转json】
  5. 计算机农业应用与3S技术论文,3S技术在精细农业中的应用实例分析
  6. TCP/UDP测试工具大全
  7. 纸娃娃系统(摘自百科)
  8. Silverlight 2.5D RPG游戏技巧与特效处理:纸娃娃系统
  9. 一键备份服务器文件夹权限,教大家一键设置局域网共享文件夹权限
  10. 非常友好的PHP后台模板