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
错误将以这种方式记录。
我的目标是通过 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
错误将以这种方式记录。