BTEQ:在日志文件中保存 Teradata 错误

BTEQ: Save Teradata error in logfile

我的目标是通过 BTEQ 自动将 SQL 脚本部署到 Teradata。到目前为止,我的脚本正在运行。但是,我想生成一个记录可能的故障的日志文件。

.LOGON tdserver/username,pw
.EXPORT file=\logfile.txt;

.run file = \Desktop\test\test.sql;

.LOGOFF
.EXIT

我的 SQL 脚本将创建一个视图。例如,当这个视图已经存在时,我在 BTEQ 命令 window:

中看到一个错误

*** 失败 3804 视图 'ViewName' 已经存在。

我想在我的日志文件中包含这条 TD 消息。试了好几次,找了3个小时没成功。

您可能想尝试使用 .SET ERROROUT STDERR 将错误流重新路由到 STDERR 输出文件,而不是将错误流路由到 STDOUT 的默认操作。

BTEQ 手册第 5 章 - BTEQ 命令中有更多信息。

将上面编写的所有脚本保存为文本文件,并创建一个批处理文件,在 运行 脚本之后生成日志:

echo off
bteq < script.txt > script.log 2>&1
@echo off goto end
:end
@echo exit

错误将以这种方式记录。