db2 SQL语句过长报错,无法通过SQL或者java代码解决?
刚过完年,就遇到了一个比较棘手的问题:
系统在做查询时,抛出了一个SQL语句过长的异常,大概错误信息如下:
Caused by: com.ibm.db2.jcc.am.SqlException: The statement is too long or too complex.. SQLCODE=-101, SQLSTATE=54001, DRIVER=3.64.114
分析:在代码中调用了一条查询的db2 SQL语句,该SQL语句包含一个in子查询。in子语句里面的数据非常多。导致整个SQL语句过长,因而报错!而且in子语句里面数据来源的表和主查询表不是在同一个库里面(数据库服务器也不一样),不知道该如何解决了??有想过更改数据库服务器SQL语句过长的配置的方法,不太可行,也有想过使用临时表的方法,把数据同步到同一个服务器的同一个数据库里面。。。想请教大家,看看还有没有其他什么好的方法没有???
涉及SQL大概如下:
SELECT * FROM A WHERE id IN ('1' ,'2','3','4','5'... ... ... ...)
系统在做查询时,抛出了一个SQL语句过长的异常,大概错误信息如下:
Caused by: com.ibm.db2.jcc.am.SqlException: The statement is too long or too complex.. SQLCODE=-101, SQLSTATE=54001, DRIVER=3.64.114
分析:在代码中调用了一条查询的db2 SQL语句,该SQL语句包含一个in子查询。in子语句里面的数据非常多。导致整个SQL语句过长,因而报错!而且in子语句里面数据来源的表和主查询表不是在同一个库里面(数据库服务器也不一样),不知道该如何解决了??有想过更改数据库服务器SQL语句过长的配置的方法,不太可行,也有想过使用临时表的方法,把数据同步到同一个服务器的同一个数据库里面。。。想请教大家,看看还有没有其他什么好的方法没有???
涉及SQL大概如下:
SELECT * FROM A WHERE id IN ('1' ,'2','3','4','5'... ... ... ...)
...全文
相关推荐
DB2数据库SQL注入语句
本文将深入探讨DB2数据库中的SQL注入语句,以及如何通过这些语句来猜解数据库结构和数据。首先,SQL注入的基础原理是通过在合法的SQL查询语句中嵌入恶意代码,以改变原本的查询逻辑。
oracle或db2的建表SQL语句解析
本篇将深入解析Oracle和DB2的建表SQL语句,并介绍如何将这些语句从文本文件读取并转化为Java对象,最后序列化存储为.dm文件。首先,让我们了解Oracle和DB2的建表SQL语句的基本语法。
通过JDBC通过java连接DB2数据库
**注意事项** - 在编写代码时,需要注意以下几点: - 确保导入了DB2的JDBC驱动包,否则会因为找不到驱动而报错。 - 在编写SQL语句时,必须指明用户和表名,格式为“用户.表名”。
db2 数据库驱动jar包 db2java.jar,db2jcc.jar,db2_license_cu.jar
JNI驱动允许Java代码调用本地操作系统接口,从而实现与数据库的低级别交互。这种驱动适用于那些需要利用操作系统特定功能或者更高效性能的场景。
DB2中常用SQL语句
### DB2中常用SQL语句知识点详述#### 数据库简介DB2是IBM公司推出的一款关系型数据库管理系统,广泛应用于各种规模的企业级环境中。


