我正在尝试在CloverETL设计器中构建一个ETL脚本,作为其处理的一部分,它将构建一个临时表,然后在联接中使用该临时表。由于特定于系统的原因,在事务块之外不能持续的临时表是理想的,因此我尽量避免创建视图或标准表。通过JDBC驱动程序与所涉及的数据库建立连接。
我已经知道临时表和随后使用该表的查询的SQL。
然而,我不完全确定在CloverETL下做这件事最好的方法是什么。是否可以让DBExecute与DBInputTable在相同的事务块中运行?我最好的选择是把两个表都放到本地数据库中,然后在那里使用它们吗?
有什么想法或建议吗?
发布于 2011-05-12 21:08:38
要使三叶草组件在同一事务中工作,您需要将threadSafeConnection=指定为“false”。默认情况下,此参数设置为true,因此每个组件都使用自己的连接实例来处理数据库。您可以在CloverETL论坛上找到一些详细描述问题的主题,例如:http://forum.cloveretl.org/viewtopic.php?f=4&t=3342 http://forum.cloveretl.org/viewtopic.php?f=7&t=3431
https://stackoverflow.com/questions/5955430
复制相似问题