我的目标是通过BTEQ自动将SQL脚本部署到Teradata。到目前为止,我的脚本正在运行但是,我想生成一个记录可能失败的日志文件。
.LOGON tdserver/username,pw
.EXPORT file=\logfile.txt;
.run file = \Desktop\test\test.sql;
.LOGOFF
.EXIT
我的SQL脚本将创建一个VIEW。例如,当此视图已存在时,我在BTEQ命令窗口中看到错误:
***失败3804查看' ViewName'已经存在。
我想在我的日志文件中包含此TD消息。我尝试了几次,一直在寻找3个小时,但遗憾的是没有成功。
答案 0 :(得分:1)
您可能希望尝试使用.SET ERROROUT STDERR
将错误流重新路由到STDERR输出文件,而不是将错误流路由到STDOUT的默认操作。
BTEQ手册中有更多信息,见第5章--BTEQ命令。
答案 1 :(得分:0)
将上面编写的所有脚本保存为文本文件,并创建一个批处理文件,在运行脚本后生成日志:
echo off
bteq < script.txt > script.log 2>&1
@echo off goto end
:end
@echo exit
错误将以这种方式记录。