无效的操作结果集已关闭错误代码4470 sqlstate null-DB2数据提取

无效的操作结果集已关闭错误代码4470 sqlstate null-DB2数据提取,sql,db2,Sql,Db2,我正在运行一个非常简单的查询,并试图将结果提取到一个文本文件中。整个查询基本上就是下面的内容,我从一个表中选择所有内容,其中一个where条件将数据限制为一个月的值。在提取了大约1.2 gig后,就会出现此错误。除了提取较小的日期范围之外,还有什么方法可以解决这个问题吗?我正在尝试提取几年的数据,所以如果我一次只能获取几天的数据,将需要大量的手工工作 我目前正在使用DB2查询工具RazorSQL的免费试用版,如果这有什么不同,我可能会购买不同的软件,如果它有帮助的话。我试图得到IBM的工具,但由

我正在运行一个非常简单的查询,并试图将结果提取到一个文本文件中。整个查询基本上就是下面的内容,我从一个表中选择所有内容,其中一个where条件将数据限制为一个月的值。在提取了大约1.2 gig后,就会出现此错误。除了提取较小的日期范围之外,还有什么方法可以解决这个问题吗?我正在尝试提取几年的数据,所以如果我一次只能获取几天的数据,将需要大量的手工工作

我目前正在使用DB2查询工具RazorSQL的免费试用版,如果这有什么不同,我可能会购买不同的软件,如果它有帮助的话。我试图得到IBM的工具,但由于某种原因,它在下载过程中冻结,所以我仍在努力。我已经搜索过这个错误,但我看到的一切似乎都比我正在做的要复杂得多,我不知道它是否适用。提前谢谢

select *
from MyTable
where date_col between date '2014-01-01' and date '2014-01-31'

我也遇到了这个错误,发现它与db2jcc.jar(类型4)驱动程序有关

摘录:如果结果集中没有剩余的项目(或开始时没有),结果集将自动关闭,因此会出现异常。建议在应用程序中处理它,也许在我的例子中,我开始检查
if(rs.next())
,但除此之外,还有一个解决方法。查看下面的源链接,了解如何将某些属性设置为数据源并避免异常

资料来源:

在我的例子中,我错过了WAS中的一些属性,在添加AllownextonexhoustedResultSet后,问题得到了解决

1.登录到WebSphere Application Server管理控制台

2.选择资源>JDBC>数据源>应用程序中心数据源名称>自定义属性,然后单击新建

3.在名称字段中,输入AllownextonexhoustedResultSet

4.在值字段中,键入1

5.将类型更改为java.lang.Integer

6.单击“确定”


有时还需要检查结果属性是否存在。详细信息请参阅。

使用Integer类型创建属性bellow它对我有效:


我在WAS 7上遇到了同样的问题,所以我不得不在管理控制台上添加和更改一些

应通过应用APAR JR50863修复此TeamWorksRuntimeException异常,APAR JR50863位于BPM V8.5.5之上,或包含在BPM V8.5刷新包6中。 对于APAR无法解决问题的情况,请尝试以下解决方法:

  • 登录到WebSphere Application Server管理控制台
  • 选择资源>JDBC>数据源>数据源名称(TeamWorksDB)>自定义属性,然后单击新建
  • 在名称字段中,输入DegradeHoldCursorsUnderXa
  • 在值字段中,键入true
  • 将类型更改为java.lang.Boolean
  • 单击“确定”保存更改
  • 选择自定义属性ResultsTholdability
  • 在“值”字段中,键入1
  • 单击“确定”保存更改

  • 答案来源:

    如果连接池丢失了到Db2的会话,重新启动应用程序可能会解决问题。如果使用Tomcat,则“TestOnBrook”的连接池属性可能会重新建立到Db2的连接。

    从错误代码中,可以假设您正在使用IBM JDBC驱动程序连接到数据库。在这种情况下,您需要确保JVM有足够的内存来分配1.2GB来存储结果集,而不是它需要的所有其他内存。我必须说,向我获取1.2GB的结果集表明应用程序设计很差。您不需要任何第三方实用程序。只需使用EXPORT命令,一次性提取两年的数据。因此,我试图在我的实用程序中使用EXPORT命令,并不断得到一个错误“error:A character,token,or子句无效或缺少DBS SQL error:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=EXPORT to”。导出代码是:导出到COLDEL修改的DEL的“C:\Personal\My_Folder\Test.txt”|从MyTable中选择*有什么想法吗?我需要从命令行运行它吗(我以前从未使用过它,也不知道如何连接)。请注意。我也在同一条船上。我尝试了AllownextonexhoustedResultSet参数,但没有得到错误。但奇怪的是,我的查询也没有返回整个结果。我可以在应用程序之外执行查询,并获得更多数据。因此,为了安全起见,如果您看到此问题,我会仔细检查您的结果。请在此处添加您的代码,以便其他用户可以测试您所描述的内容,而不是使用图像。谢谢检查我的评论中的链接“AllownextonexhoustedResultSet:”。上述页面不退出或已被删除。请输入代码