发布于 2014-12-07 07:17:50 | 2202 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的DB2教程,程序狗速度看过来!

DB2 关系型数据库

DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统UNIX,Windows Access,ORACLE平台上服务。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。


本文为大家讲解的是db2错误com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null解决方法,感兴趣的同学参考下。

错误描述:

我在用org.springframework.jdbc.core.JdbcTemplate执行这样一句sql时报错了:

INSERT INTO customerbranch

( id , OPTIMISTIC , frp_id , paymentchannel , customer_id ,bank_id ,updatetime)

 SELECT NEXT VALUE FOR customerbranch_ID_SEQUENCE ,

 0, 1005, 'NET' , ?, bankid , CURRENT_TIMESTAMP

 FROM ( SELECT DISTINCT f.bank_Id AS bankid

 from frpbusiness fb, frp f

 where f.ID = fb.id and fb.BUSINESS in ('DEBIT', 'CREDIT', 'B2B')

 )

错误信息主要是这个:

com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null

但是奇怪的是,我在DBeaver中,将?替换为参数时,可以正常执行。

错误原因:

“select list中不能有‘?’

解决方法:

将sql中的?替换为实际参数,再在代码中执行一遍,果然ok了。

select ? from ……的写法,是我以前使用mybatis时惯用的写法。但是JdbcTemplate中不能这样写。



最新网友评论  共有(1)条评论 发布评论 返回顶部
vftu 发布于2016-07-21 21:03:08
草,哪里抄来的
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务