0 0

插入数据时 DB2 SQL Error...【叫我小猫Frank】10

环境:JDK 1.5 / DB2 for Linux 9.5 / SSI 框架
JavaWeb 项目开发中 - 新增客户信息功能 - 【保存】


执行 insert 语句,页面捕获异常 :
处理异常!com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/shandong/project/ibatis/sqlmap/personbasicmsg/piCusBasInfo.xml.
--- The error occurred while applying a parameter map.
--- Check the insertPiCusBasInfo-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: com.ibm.db2.jcc.am.ro: DB2 SQL Error: SQLCODE=-417, SQLSTATE=42609, SQLERRMC=null, DRIVER=3.58.82


MyEclipse 后台报:
...
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/shandong/project/ibatis/sqlmap/personbasicmsg/piCusBasInfo.xml.
--- The error occurred while applying a parameter map.
--- Check the insertPiCusBasInfo-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: com.ibm.db2.jcc.am.ro: DB2 SQL Error: SQLCODE=-417, SQLSTATE=42609, SQLERRMC=null, DRIVER=3.58.82
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505)
...


SQL 语句拿出来 可以单独在 数据库中成功执行。

小猫推测,可能是数据库的配置有问题,但是
DB2 SQL Error: SQLCODE=-417, SQLSTATE=42609, SQLERRMC=null, DRIVER=3.58.82 ,

异常代码在网上搜索无果。。。。

望各位高手指导。。。。。谢谢!


问题补充:<div class="quote_title">helloJ 写道</div><div class="quote_div">如果SQL 语句拿出来 可以单独在 数据库中成功执行,那么检查看看你传入的参数类型试不是和数据库中设置的一致,如果不一致就会报错,db2 对数据类型要求非常严格。 <br /> <br />比如数据库中 age 字段数据类型为 int ,而如果传入的参数数据类型是 string 时,就会报错 <br /> <br />SQL0417 SQLCODE -417&nbsp;&nbsp; SQLSTATE 42609&nbsp; <br />Explanation: Combination of parameter markers not valid. <br /></div> <br /> <br />C:\Documents and Settings\db2admin&gt;db2 ? sql0417 <br /> <br /> <br />SQL0417N要预编译的语句字符串包含作为同一运算符的操作数的参数标记。 <br /> <br /> <br />解释: <br /> <br />指定为 PREPARE 或 EXECUTE IMMEDIATE <br />的对象的语句字符串包含谓词或表达式,在该谓词或表达式中,参数标记已 <br />用作没有 CAST 规范的同一运算符的操作数。例如: <br /> <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? &gt; ? <br /> <br /> <br />不能处理该语句。 <br /> <br />用户响应: <br /> <br />不支持此语法。使用 CAST 规范为至少一个参数标记指定一个数据类型。 <br /> <br /> sqlcode :&nbsp; -417 <br /> <br /> sqlstate :&nbsp; 42609 <br /> <br />-------------------------------------- <br />DB2 帮助中 的“PREPARE 或 EXECUTE IMMEDIATE <br />”是什么东西。。。。了解吗? <br />
2010年9月20日 13:09

1个答案 按时间排序 按投票排序

0 0

如果SQL 语句拿出来 可以单独在 数据库中成功执行,那么检查看看你传入的参数类型试不是和数据库中设置的一致,如果不一致就会报错,db2 对数据类型要求非常严格。

比如数据库中 age 字段数据类型为 int ,而如果传入的参数数据类型是 string 时,就会报错

SQL0417 SQLCODE -417   SQLSTATE 42609 
Explanation: Combination of parameter markers not valid.

2010年9月21日 17:15

相关推荐

    DB2驱动包 db2jcc4.jar db2jcc4.jar

    db2驱动包 db2jcc4.jar db2jcc4.jar db2java.jar db2jcc_javax.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar db2policy.jar,压缩包无加密,可以放心下载,良心资源。

    db2驱动包 db2jcc4.jar db2jcc4.jar db2java.jar db2jcc-javax.jar db2j

    db2驱动包 db2jcc4.jar db2jcc4.jar db2java.jar db2jcc_javax.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar db2policy.jar,压缩包无加密,可以放心下载,良心资源。

    db2驱动( db2jcc4.jar+db2jcc_license_cu.jar).zip

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Java应用程序中,为了连接到DB2数据库,我们需要使用特定的驱动程序,这就是db2jcc4.jar和db2jcc_license_cu.jar这两个文件的...

    db2sqlserver.zip

    本文将以“db2sqlserver.zip”这个压缩包为例,详细讲解如何使用Python和相关工具,将SQLite数据库中的数据导入到SQL Server中,并在此过程中涉及到的关键知识点。 SQLite是一种轻量级、无服务器的嵌入式关系型...

    DB2架包db2jcc.jar、db2jcc_license_cu.jar、db2jcc4.jar文件

    DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。在Java应用程序中与DB2交互时,通常需要使用特定的驱动程序,这些驱动程序以JAR(Java Archive)文件的形式存在。标题中提到的"db2jcc....

    DB2 SQL 精萃.pdf

    当需要从多个表中同时检索数据时,可以使用多字段查询。例如: ```sql SELECT e.name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id; ``` 这里,`JOIN` 用于连接 `...

    db2jcc4.jar下载(jdk1.8测试可用)

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Java应用程序中,要连接到DB2数据库,就需要使用相应的数据库驱动,即JDBC驱动。"db2jcc4.jar"是IBM提供的DB2 JDBC Type 4驱动...

    DB2资料sql语法.zip

    在现代IT行业中,数据库管理系统(DBMS)是数据管理的核心组件,而DB2作为IBM的一款强大关系型数据库,其SQL(Structured Query Language)语法的学习对于任何从事此领域工作的专业人士来说至关重要。DB2资料sql语法...

    db2驱动jar包db2jcc4.jar

    db2jcc4.jar: DB2数据库驱动包,用于连接DB2数据库。 安装免费的开源数据库连接工具 [DBeaver](https://dbeaver.io)之后。 下载db2jcc4.jar到本地。 在DBeaver中新建连接。新连接类型选择 DB2 LUW,在“编辑驱动设置...

    DB2.SQL.PL.Essential.Guide(DB2 存储过程_English)

    《DB2 SQL PL Essential Guide》是一本专注于DB2存储过程的英文指南,它为数据库管理员、开发人员和数据架构师提供了全面深入的DB2 SQL PL(过程语言)知识。DB2,作为IBM的一款关系型数据库管理系统,广泛应用于...

    DB2.SQL.PL.Essential.Guide.rar

    它包括数据查询、数据更新、数据插入和数据删除等操作。 2. 数据库对象:如表、视图、索引、存储过程、触发器等的创建和管理。理解这些对象如何在DB2中工作对于有效管理和使用数据库至关重要。 3. 查询语句:DQL...

    IBM.Data.DB2.iSeries.dll

    C#连DB2库文件IBM.Data.DB2.iSeries.dll

    db2-正则表达式.zip

    1- Save attached db2_regex.zip file to a new folder on the hard disk for example to C:\avalanche 2- Extract all files from... \&gt;db2 -td@ -vf C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sql

    db2jcc4.jar

    Class.forName("com.ibm.db2.jcc.DB2Driver"); Connection conn = DriverManager.getConnection( "jdbc:db2://localhost:50000/DBNAME", "username", "password"); System.out.println("Connected to the ...

    AS400_DB2_SQL.rar_AS400 db2 sql mod_as400 db2 da_as400 sql_db2

    "AS400_DB2_SQL.rar"这个压缩包显然包含了一些关于如何在AS400环境下的DB2中使用SQL进行数据操作和管理的详细资料。 在AS400中,DB2 SQL的使用涵盖了许多方面,例如: 1. **数据查询**:使用SELECT语句从数据库中...

    BD2的jar文件db2java.jar,db2jcc.jar,db2jcc_license_cu.jar,db2jcc4.jar

    这些jar文件提供了Java编程语言访问DB2数据库的API(应用程序接口),使得开发人员可以在Java应用中轻松地执行SQL语句、管理数据库对象以及处理事务。 1. **db2java.jar**: 这个jar文件包含了DB2数据库驱动的基础...

    db2_sqlcode.rar_db2_db2 sql

    这个压缩包包含了一个名为"db2_sqlcode.pdf"的PDF文档,我们可以从中了解到DB2在执行SQL语句时可能会遇到的各种错误代码及其含义。 SQLCODE是数据库系统中用于报告错误、警告和信息的通用代码。在DB2中,SQLCODE是...

    db2driver db2jcc4.jar

    此外,理解SQL语言,尤其是与DB2兼容的SQL语法,对于编写高效的查询和数据操作至关重要。 总的来说,`db2jcc4.jar`是连接Java应用程序与IBM DB2数据库的关键工具,它的使用涉及JDBC规范、数据库连接管理、SQL查询等...

    db2驱动 db2注册 db2java.zip db2jcc.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在给定的文件中,我们关注的是与DB2连接相关的Java驱动程序。这些文件是实现Java应用程序与DB2数据库进行交互的关键组件。以下是...

Global site tag (gtag.js) - Google Analytics