【问题标题】:How to make udaSQL behave like BTEQ如何使 udaSQL 表现得像 BTEQ
【发布时间】:2017-06-19 23:03:39
【问题描述】:

我有一些 BTEQ 文件,我想通过这些文件迁移到 udaSQL

 <udaSQL src="batch.sql" /> 

问题是,BTEQ 将语句分开,以便将它们一一发送到 teradata,包括在隐式事务中的每一个。这很好,因为其中许多是 DDL(CREATE AS SELECT、DROP、COLLECT STATISTICS...)并且它们需要在单个事务中执行。
但是 udaSQL 收集漏洞文件并尝试在单个命令中使用隐式事务发送它,当它找到 DDL 时会失败。
udaSQL 可以通过一个选项在 JDBC 连接字符串级别进行调整:事务模式 (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>

我的 ANT 文件的 500 行。

【问题讨论】:

    标签: jdbc ant teradata


    【解决方案1】:

    这种行为仅适​​用于 udasql 标记中的嵌入 sql(我没有意识到)。使用 src 很好,udasql 执行 ;逐个分隔查询。

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 2017-01-26
      • 1970-01-01
      • 2016-01-15
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 2015-02-08
      相关资源
      最近更新 更多