我正在尝试在 CloverETL Designer 中构建一个 ETL 脚本,作为其处理的一部分,它会构建一个临时表,然后在连接中使用它。由于特定于系统的原因,不会在事务 block 之外持续的临时表是理想的,因此我试图避免创建 View 或标准表。正在通过 JDBC 驱动程序连接到所涉及的数据库。
我已经知道临时表的 SQL 和随后使用该表的查询。
但是,我并不完全确定在 CloverETL 下执行此操作的最佳方法是什么。我能否让 DBExecute 在与 DBInputTable 相同的事务 block 中运行?我最好的选择是将两个表都放入本地数据库,然后从那里使用它们吗?
有什么想法或建议吗?
最佳答案
要使 Clover 组件在同一个事务中工作,您需要指定 threadSafeConnection="false"。默认情况下,此参数设置为 true,因此每个组件都使用自己的连接实例来处理数据库。您可以在 CloverETL 论坛上找到一些详细描述问题的主题,例如: http://forum.cloveretl.org/viewtopic.php?f=4&t=3342 http://forum.cloveretl.org/viewtopic.php?f=7&t=3431
关于postgresql - 临时表的 CloverETL 事务 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955430/