weiliwei 发表于 2016-11-14 08:36:20

DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002

  com.icitic.artery.exceptions.KeyedException: IC卡平台生成业务数据文件或请求签名文件错误!com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031, DRIVER=3.50.152
        at com.icitic.iccard.gencard.util.LoggerException.loggerMessage(LoggerException.java:22)
        at com.icitic.iccard.gencard.step.GenMkCardFilesStep.generateDataCertFile(GenMkCardFilesStep.java:149)
        at com.icitic.iccard.gencard.step.GenMkCardFilesStep.doWork(GenMkCardFilesStep.java:83)
        at com.icitic.artery.task.Stage.runOnce(Stage.java:177)
        at com.icitic.artery.task.Stage.doWork(Stage.java:153)
        at com.icitic.artery.task.Task.execute(Task.java:255)
        at com.icitic.artery.task.Task.doWork(Task.java:183)
        at com.icitic.artery.task.Task.run(Task.java:341)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
        at java.lang.Thread.run(Thread.java:736)
Caused by:
java.lang.RuntimeException: com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031, DRIVER=3.50.152
        at com.icitic.iccard.gencard.AbstractGenerateFile.createFile(AbstractGenerateFile.java:261)
        at com.icitic.iccard.gencard.step.GenMkCardFilesStep.generateDataCertFile(GenMkCardFilesStep.java:144)
        ... 9 more
Caused by:
com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031, 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.c(tk.java:1901)
        at com.ibm.db2.jcc.t4.db.o(db.java:767)
        at com.ibm.db2.jcc.t4.db.g(db.java:141)
        at com.ibm.db2.jcc.t4.db.a(db.java:38)
        at com.ibm.db2.jcc.t4.t.a(t.java:32)
        at com.ibm.db2.jcc.t4.sb.h(sb.java:141)
        at com.ibm.db2.jcc.b.tk.N(tk.java:1387)
        at com.ibm.db2.jcc.b.uk.Kb(uk.java:2461)
        at com.ibm.db2.jcc.b.uk.Pb(uk.java:2549)
        at com.ibm.db2.jcc.b.uk.a(uk.java:1628)
        at com.ibm.db2.jcc.b.uk.setObject(uk.java:1586)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163)
        at com.icitic.iccard.gencard.jdbc.JdbcUtil.createStatement(JdbcUtil.java:216)
        at com.icitic.iccard.gencard.dao.ICUseParaDaoImpl.getFWM(ICUseParaDaoImpl.java:169)
        at com.icitic.iccard.gencard.AbstractGenerateFile.getFWM(AbstractGenerateFile.java:194)
        at com.icitic.iccard.gencard.AbstractGenerateFile.builderWriteLine(AbstractGenerateFile.java:88)
        at com.icitic.iccard.gencard.AbstractGenerateFile.createFile(AbstractGenerateFile.java:256)
        ... 10 more
16:14:56,748 DEBUG TaskEngine(567) | Save status for TaskContext
16:14:56,753 DEBUG TaskEngine(567) | Save status for TaskContext
16:14:56,759 DEBUG ArteryExecutor(91) | Thread end Task, time=1195451248875ns
  问题分析:
  起初是感觉是数据库中的没有绑定。。。。。。。。。。。。。。。。。。。。。 然后用命令DB2 bind @db2ubind.lst blocking all grant public 执行,还是不行
  数据量大的时候暴漏的问题
  最后检查下代码:
     原来是Preparestate对象使用完毕后,没有关闭,还有就是ResultSet用完后没有被关闭才引起该问题,希望搞技术的朋友写程序的时候一定要严谨
  
 
页: [1]
查看完整版本: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002