【发布时间】:2015-07-24 15:53:27
【问题描述】:
在批处理脚本中,我使用循环来执行一堆 sql (hql) 一个 Teradata 数据库。经过一些迭代后,我收到以下错误:
Teradata databse: 3130 Response limit exceeded
现在文档表明(以及this question 上的答案)这是由于同一会话的许多打开的结果集。
现在 session 和 ResultSet 都由 EntityManager 管理,不知道有没有办法避免在这种情况下通过 jpa/hiberate 关闭和重新打开连接。
我试过 entityManager.clear 或 flush 没有任何效果。
有没有办法更好地处理这个问题?也许我错过了一些东西。我的“批次”符文在 spring 2.5 下。在“cli”模式下。
【问题讨论】:
-
3130 错误不是结果大小限制错误。由于打开结果集数量的限制,文档建议关闭旧结果集。所以我怀疑这是由于数据大小。顺便说一句,数据几乎什么都不是。
-
我相信这更多地属于 teradata 方面,我建议让某人删除您为主要帖子添加的额外标签。
-
java 和 jpa 标签是合适的,因为问题是关于在不是通过 jdbc 而是通过 jpa api 连接时如何传递相关参数或关闭会话/结果集
-
正如@WeareBorg 指出的那样——这确实是数据量的问题。其中一行包含 bll*it 的音调
标签: java spring hibernate jpa teradata