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中的常见错误码及其含义,帮助用户更好地理解并处理这些问题。 #### 一、...
DB2SQLError: SQLCODE=-290, SQLSTATE=55039, SQLERRMC=null, DRIVER=3.50.152 消息:不允许访问表空间。SQLCODE=-290, SQLSTATE=55039, DRIVER=3.50.152 ``` 此错误提示中的`SQLCODE=-290`和`SQLSTATE=55039`表明...
在使用IBM DB2数据库时,有时可能会遇到错误代码SQL1585N,这表示当前系统中不存在具有足够页大小的系统临时表空间,导致某些操作无法执行。SQLSTATE=54048进一步确认了这是一个与表空间管理相关的错误。针对这个...
+012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +100 02000 没有找到满足SQL语句的行 +110 01561 用DATA CAPTURE定义的...+203 01552 使用非唯一的名字来解决命名的限定列
- **查阅官方文档**:IBM提供了详细的错误代码文档,包括SQLCODE的含义和解决建议,是解决问题的第一步。 - **分析SQLSTATE**:SQLSTATE是另一个与SQLCODE相关的五位字符代码,提供了更具体的错误信息,配合...
因此,本文旨在整理 DB2 的 SQL、sqlcode、sqlstate 错误码大全,提供详细的错误码说明和用户响应方法,帮助用户快速解决问题,提高工作效率。 SQL0000 - SQL0099 在 DB2 中,SQL0000 - SQL0099 错误码系列主要...
db2 数据库错误对照文档,错误分析及解决办法,常见的都有。db2数据库开发者最好的帮助文档。
4. **监控与日志**:启用并定期分析DB2的监控和日志,提前发现并解决问题。 总之,理解并解决DB2 SQLSTATE 57016 SQLCODE=-668 原因码 "7"错误的关键在于正确识别问题的来源,可能是权限、锁定或配置问题,然后采取...
通过以上介绍可以看出,DB2中的SQL CODE和SQL State提供了丰富的信息来帮助我们定位和解决问题。在实际工作中,了解并熟悉这些错误代码是非常重要的,它可以帮助我们更快地诊断问题,提高工作效率。
这些SQLCODE值及其对应的SQLSTATE和说明对于数据库管理员和开发人员来说至关重要,它们帮助定位和解决DB2数据库操作中遇到的问题。通过阅读DB2 SQLCODE大全,用户可以更快地识别和处理各种数据库操作的返回状态,...
解决方法是回到 root 用户,运行 db2icrt 命令去创建 instance,再切回 db2inst1,一切 ok。 db2icrt 命令的使用 DB2 实例是用来存储数据和运行应用程序的一种环境。使用 db2icrt 命令来创建实例。在 Linux 或 ...
通过这些信息可以帮助DB2用户快速定位并解决问题。 #### 一、SQLCODE与SQLSTATE简介 在DB2中,SQLCODE和SQLSTATE是用来表示SQL语句执行结果的状态码。其中: - **SQLCODE**:是IBM DB2系统定义的一个整型变量,用于...
了解这些错误代码可以帮助开发者和DBA更快地定位问题所在,并采取相应的措施解决问题。对于DB2用户来说,熟悉这些错误信息不仅有助于提高工作效率,还能减少不必要的调试时间。同时,建议在遇到问题时参考官方文档,...
开发者或DBA需要查看具体的SQLCODE和SQLSTATE值,查阅相关文档或在线资源来解读这个错误,并采取相应措施解决问题。有时,解决办法可能是修复SQL语句本身,有时则可能需要调整数据库配置或者处理底层的数据问题。 ...
通过对DB2 SQLCODE的理解和掌握,开发者可以在遇到数据库问题时更加迅速地定位问题所在,并采取合适的解决方案。此外,通过查阅官方文档或相关资料,还可以获取更多关于特定SQLCODE的详细信息。希望本文能够帮助您更...
1、DB2(DataBase2DataBase)开发常遇到一些错误,汇总了几百个常见的错误信息,用以查错使用。 2、可以按需检索,检索错误码或者关键字都可以。 3、资源内容列举: 关键字:SQL0084 SQLCODE -84 说明: SQL statement...
SQLCODE是DB2在处理SQL语句时返回的一种错误代码,它用于帮助开发者和管理员理解并解决遇到的问题。本资源“db2 sqlcode大全下载,db2报错下载”提供了全面的DB2错误代码信息,对理解和解决DB2数据库中的错误非常有...
DB2的sqlcode是一系列的整数值,每个值代表了特定的错误类型,帮助数据库管理员和开发者快速定位和解决问题。 sqlcode通常与sqlstate一起使用,sqlstate是一个五位字符代码,它提供了关于sqlcode的具体分类和更详细...
理解这些错误码的意义对于快速定位问题、解决问题至关重要。下面我们将详细解释一些常见的DB2错误码及其含义。 #### 00000 - SQL操作成功完成 - **SQLCODE**: 00000 - **SQLSTATE**: 00000 - **含义**: 表示SQL语句...
DB2是IBM开发的一款关系型数据库..."db2_sqlcode.pdf"文档将提供更全面的错误代码解析,帮助DB2管理员和开发者快速诊断和解决数据库问题。通过深入学习和理解这些代码,可以提升故障排查效率,确保数据库的稳定运行。