【发布时间】:2013-02-04 13:40:26
【问题描述】:
我有一个选择查询,它将参数设置为插入查询。
使用的数据库:DB2
insert into table_name
(col1,col2,col3,col4)
(select col1,col2,col3,col4 from table_name_2)
如果 select 返回的 cols 之一为 null,则上述语句在 ibatis 中失败。 我使用 websphere 并启用了跟踪日志,我使用 qtoad 在跟踪日志中运行查询,它运行良好。
我哪里错了?
请帮忙。
实际查询:
INSERT INTO DB2TUNT.WKSET_VEND_ITEM (WKSET_I,WKSET_ITEM_I,VEND_I,GMS_VEND_I,VOP_TYPE_C,MFR_STYL_T)
(SELECT 7725263,VITEM.DIR_ITEM_I,DIR.PRIM_VEND_I,VITEM.GMS_VEND_I,VITEM.VOP_TYPE_C,VITEM.MFR_STYL_T)
错误: 应用参数映射时发生错误。 检查语句(更新失败)。
看起来这种情况只发生在 db2 上。有谁能提供帮助吗?
【问题讨论】:
-
我不了解失败的上下文:如果它在 WebSphere 中部署的应用程序中运行良好,您何时收到失败?在单元测试阶段?在另一个 Websphere 中?表的 DDL 是什么?可以发一下IBatis的XML吗?
-
尝试显式设置 JDBC 类型:例如
select #col1:VARCHAR#...。这是 ibatis 的语法,如果您使用的是 MyBatis 3.x,则略有不同。 -
@partlov 能在 db2 中工作吗?
-
@alepuzio 我通过 ibatis 模板运行它时收到此错误。该应用程序未部署,v r 仍在开发中
-
对不起,我弄错了。我认为这些是参数。您看到什么错误?
标签: spring spring-mvc db2 dao ibatis