大意导致Java访问DB2库时导出SQLCODE=-301, SQLSTATE=07006错误
本人在写一个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错误相关推荐
- MySql数据库记录相差14小时排错,使用Java访问Mysql数据库时出现时区异常的解决方案
最近遇到1个大坑,A系统迁移到B系统,2边系统 同1个字段 createTime 看到的不一致. 表象: A系统: 2019-6-10 17:34 B系统: 2019-6-11 .... 再次尝试: ...
- qt html 库段错误,连接Qwt库时Qt代码中的分段错误
我试图用一些Qwt小部件创建一个Qt 应用程序,但是当我尝试链接Qwt库时,我发现Qt代码中存在分段错误.我使用的是非常简单的Qt程序,只弹出一个空白窗口:连接Qwt库时Qt代码中的分段错误 #in ...
- linux db2表死锁,记录一次问题解决:DB2死锁解决办法(SQLCODE=-911, SQLSTATE=40001)
(DB2的数据库)在做update更新的时候,发生了死锁.后台报的错误为:SQLCODE=-911, SQLSTATE=40001 ---------------------------------- ...
- DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法
DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法 参考文章: (1)DB2 SQL Error: SQLCODE=-668, SQLSTATE=570 ...
- mysql sqlstate 40001_记录一次问题解决:DB2死锁解决办法(SQLCODE=-911, SQLSTATE=40001)
(DB2的数据库)在做update更新的时候,发生了死锁.后台报的错误为:SQLCODE=-911, SQLSTATE=40001 ---------------------------------- ...
- 使用Java访问Mysql数据库时出现时区异常的解决方案
2019独角兽企业重金招聘Python工程师标准>>> 问题来源:将Mysql5.6版本升级到8.0.12版本后,Java在访问Mysql数据库时出现如下异常: java.sql.S ...
- jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...
- svn访问版本库时一直提示: please wait while the repository browser is initializing
我电脑重新装系统win10后,无论是在路由器还是客户端都无法登录SVN,当然地址是没存在错误的,其中客户端登陆是就出现以下界面(如果是英文版则内容如标题,我是安装一个中文包所以显示如下图的中文): 最 ...
- java ibm 2035,C# java 连接 IBM MQ时出现 2035 或 2013认证错误的解决方法
当C# 或 java 连接 IBM MQ 是出现 2035 或 2013的错误时 java的错误提示: com.ibm.msg.client.jms.DetailedJMSSecurityExcept ...
- 出现 DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9 错误的原因及解决方法
1 错误描述 在通过「DbVisualizer」执行 SQL 语句插入数据的时候,报出如下错误: 2 错误原因 通过观察上述标记出来的错误描述: DB2 SQL Error: SQLCODE = -7 ...
最新文章
- java-自定义数据排序
- C#语言编程之抽象类与接口的比较
- H3C S5120-52P-WiNet交换机配置
- springboot 实现策略模式
- Hibernate框架之入门配置
- 5.1.8 DELETE删除数据
- 2021大数据1班《Python程序设计基础》学生学期总结
- (转)asp.net c#如何采集需要登录的页面?
- java的学习内容,附高频面试题合集
- email地址格式怎么设置?申请个人电子邮件地址怎么写?
- IDEA的界面布局折腾(Main Menu主菜单栏消失的问题)
- 传感器与检测技术考试
- java开发app教程,就是这么简单
- sv编程语言_sv零星知识点
- 遗传算法关于多目标优化python(详解)
- 在线安装计算机应用软件,计算机应用与网络基础教程 常用软件安装new.ppt
- shell之read用法
- 把图片修改为单色图片
- VR入门-02(在场景中显示出手)
- 图像处理之Bolb分析(一)