SQLCODE -517报错:
com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -517, SQLSTATE: 07005, SQLERRMC: SQL_CURSH200C1
at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
at com.ibm.db2.jcc.c.fg.a(fg.java:1225)
at com.ibm.db2.jcc.b.gb.n(gb.java:718)
at com.ibm.db2.jcc.b.gb.i(gb.java:255)
at com.ibm.db2.jcc.b.gb.c(gb.java:53)
at com.ibm.db2.jcc.b.w.c(w.java:46)
at com.ibm.db2.jcc.b.vb.h(vb.java:151)
at com.ibm.db2.jcc.c.fg.p(fg.java:1220)
at com.ibm.db2.jcc.c.gg.d(gg.java:2316)
at com.ibm.db2.jcc.c.gg.W(gg.java:457)
at com.ibm.db2.jcc.c.gg.executeUpdate(gg.java:440)
IBM官方说明:
SQL0517N The cursor "<name>" identifies a prepared statement that is
not a SELECT or VALUES statement.
Explanation:
The cursor "<name>" could not be used as specified because the prepared
statement named in the cursor declaration was not a SELECT or VALUES
statement.
The statement cannot be processed.
User response:
Verify that the statement name is specified correctly in the PREPARE and
the DECLARE CURSOR for cursor "<name>" statements. Or correct the
program to ensure that only prepared SELECT or VALUES statements are
used in association with cursor declarations.
sqlcode: -517
sqlstate: 07005
SQL0517N
游标 名称 标识一个并非 SELECT 或 VALUES 语句的预编译语句。
说明
因为游标声明中指定的预编译语句不是 SELECT 或 VALUES 语句,所以游标 名称 未能像指定的那样使用。
无法处理该语句。
用户响应
验证是否在 PREPARE 和 DECLARE CURSOR 中为游标 名称 语句正确指定了语句名。或者更正程序,以确保仅将预编译的 SELECT 或 VALUES 语句与游标声明配合使用。
sqlcode:-517
sqlstate:07005
即未预编译的语句,无法关联游标,所以执行失败。
排查方法:
1、检查访问数据库是否使用的是PreparedStatement
2、检查是否设置了对象的类型和数据库表字段的类型一致
3、检查JDBC连接的url
XXXdb.connection.url=jdbc:db2://192.168.1.1:50000/xxxDB:deferPrepares=false;currentSchema=XXX
是否包括deferPrepares=false
解决方案:
1、PreparedStatement改为Statement
2、保持类型一致
3、JDBC连接设置为deferPrepares=false
相关推荐
因为项目中需要用到db2 ,故找了一些db2 的错误码供查阅
+012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +100 02000 没有找到满足SQL语句的行 +110 01561 用DATA CAPTURE定义的...+203 01552 使用非唯一的名字来解决命名的限定列
db2 数据库错误对照文档,错误分析及解决办法,常见的都有。db2数据库开发者最好的帮助文档。
DB2的SQL、sqlcode、sqlstate错误码大全,含说明和用户响应方法,SQL0000~SQL9399
DB2错误信息 sqlcode error code DB2 SQL Error: SQLCODE SQLSTATE
1、DB2(DataBase2DataBase)开发常遇到一些错误,汇总了几百个常见的错误信息,用以查错使用。 2、可以按需检索,检索错误码或者关键字都可以。 3、资源内容列举: 关键字:SQL0084 SQLCODE -84 说明: SQL statement...
db2数据库错误解决代码sqlcode db2数据库错误解决代码sqlcode
DB2中出现的主要错误,操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原因
您可能感兴趣的文章:数据库触发器DB2和SqlServer有哪些区别DB2死锁的解决过程全记录CentOS下DB2数据库安装过程详解db2数据库常用操作命令大全DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .db2...
DB2 SQLCODE 大全 DB2错误信息 sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +100...
收集汇总了设计者在SQL 编程中所有出现的错误代码提示大全 希望对大家有所帮助
涵盖所有常见DB2 sqlcode sqlstate的信息中文解释大全。 是进行DB2相关学习和工作的必备参考资料! 内容粗览: DB2错误信息(按sqlcode排序) sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功...
DB2_sqlCode,罗列了DB2的报错代码,使用起来方便多了
db2sql存储table数据库nullsqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束...
NULL 博文链接:https://jingyemingyue.iteye.com/blog/1125082
提供db2 sqlcode大全,包括所有的报错代码信息。。。。
DB2错误信息(按sqlcode排序)这不只是一本字典,完全是DB2秘籍。呵呵,分享给大家。
DB2数据库错误信息(按SQLCODE排序)中文版。
DB2异常报错SQL CODE描述,方便问题快速查找解决