Jdbc 如何使udaSQL像BTEQ一样工作
我有一些BTEQ文件,我想通过它迁移到udaSQLJdbc 如何使udaSQL像BTEQ一样工作,jdbc,ant,teradata,Jdbc,Ant,Teradata,我有一些BTEQ文件,我想通过它迁移到udaSQL <udaSQL src="batch.sql" /> 问题是,BTEQ将语句分开,以便将它们逐个发送到teradata,包括隐式事务中的每个语句。这很好,因为其中许多都是DDL(创建为选择、删除、收集统计信息…),需要在单个事务中执行它们。 但是udaSQL收集孔文件,并尝试使用一个隐式事务在单个命令中发送它,当它找到DDL时失败 在这方面,可以在JDBC连接字符串级别通过一个选项对udaSQL进行调优:事务模式(TMOD
<udaSQL src="batch.sql" />
问题是,BTEQ将语句分开,以便将它们逐个发送到teradata,包括隐式事务中的每个语句。这很好,因为其中许多都是DDL(创建为选择、删除、收集统计信息…),需要在单个事务中执行它们。但是udaSQL收集孔文件,并尝试使用一个隐式事务在单个命令中发送它,当它找到DDL时失败
在这方面,可以在JDBC连接字符串级别通过一个选项对udaSQL进行调优:事务模式(TMODE=ANSI/TERA)。设置ANSI模式没有帮助,而且我认为如果它起作用,这不是一个好的选择,为工作脚本更改该模式的副作用是可怕的。
有什么解决办法吗?修改脚本就可以了,比如在DDL后面加一个“ET”或一个分号(这不起作用),我想要的是将整个批处理放在单独的单个文件中。我不想要像这样的恐怖
<udaSQL>
DROP TABLE blah;
</udaSQL>
<udaSQL>
CREATE hugeselect AS SELECT blah for 50 lines
</udaSQL>
<udaSQL>
DROP TABLE foo;
</udaSQL>
<udaSQL>
DROP TABLE blah;
</udaSQL>
放下桌子;
创建hugeselect作为50行的选择blah
放下桌上的食物;
放下桌子;
对于我的ANT文件的500行。这种行为只适用于udasql标记中经过修饰的sql(我没有意识到)。使用src很好,udasql执行;逐个分隔查询