Teradata:尽管有错误,但请继续运行脚本

Teradata:尽管有错误,但请继续运行脚本,teradata,Teradata,我有一个包含sql语句的长脚本,可以在teradata上运行。我希望脚本一直运行到最后,并将错误保存在日志文件中,每次出现错误时脚本都会停止。我怎么做 谢谢假设您正在使用Teradata SQL Assistant: 单击菜单栏中的“工具”,然后单击“选项”,然后单击“查询”。有一个复选框显示“如果发生SQL错误,请停止查询执行” 要获取最近的错误,请点击F11。否则,从菜单栏中单击“工具”,然后单击“显示历史”。双击其中一条历史记录左侧的行号,它将弹出一个屏幕,显示每条语句的结果消息。您还可以

我有一个包含sql语句的长脚本,可以在teradata上运行。我希望脚本一直运行到最后,并将错误保存在日志文件中,每次出现错误时脚本都会停止。我怎么做


谢谢

假设您正在使用Teradata SQL Assistant:
单击菜单栏中的“工具”,然后单击“选项”,然后单击“查询”。有一个复选框显示“如果发生SQL错误,请停止查询执行”


要获取最近的错误,请点击F11。否则,从菜单栏中单击“工具”,然后单击“显示历史”。双击其中一条历史记录左侧的行号,它将弹出一个屏幕,显示每条语句的结果消息。您还可以直接从DBC中的一个QryLog视图中查询此类信息。

假设您使用的是Teradata SQL Assistant:
单击菜单栏中的“工具”,然后单击“选项”,然后单击“查询”。有一个复选框显示“如果发生SQL错误,请停止查询执行”


要获取最近的错误,请点击F11。否则,从菜单栏中单击“工具”,然后单击“显示历史”。双击其中一条历史记录左侧的行号,它将弹出一个屏幕,显示每条语句的结果消息。您还可以直接从DBC中的一个QryLog视图中查询此类信息。

错误可以有多种类型,有些可以通过传递,有些则不能。例如,使用本机Teradata工具和实用程序,您可以使脚本忽略运行时错误,甚至语法错误,但通常不可能忽略网络连接错误,仍然执行查询的其余部分

通常在这种情况下,您希望使用BTEQ工具来执行SQL,您可以忽略其中的执行错误。BTEQ是一个标准的Teradata工具,可以从Teradata网站免费下载,通常由通过纯SQL查询Teradata的用户安装

要创建一个可行的BTEQ脚本,只需将所有查询复制粘贴到纯文本文件中,用分号分隔所有查询
并在该纯文本文件的最顶部添加一条登录语句,如下所述

.logon Teradata_IP_Address/your_UserName,your_Password;
示例脚本:

.logon 127.0.0.1/dbc,dbc;

/*Some sample queries. Replace these with your actual queries*/
SELECT Current_Timestamp;

CREATE TABLE My_Table (Dummy INTEGER) PRIMARY INDEX (Dummy);
BTEQ帮你解决了执行错误。为了避免网络连接问题,理想情况下,您希望在与Teradata保持恒定连接并安装Teradata工具和实用程序的服务器上执行该操作。这样的服务器可以称为ETL服务器、登录服务器、边缘节点或托管服务器(或其他,取决于您的环境)。您肯定需要该服务器的登录凭据(如果您还没有访问权限)。执行bteq脚本的首选命令是

Windows:
bteq例程日志文件2>错误日志文件

Linux(bash/ksh):
nohup bteqroutine\u logfile 2>错误\u logfile&

如果您在windows上,请确保不要关闭命令提示符。在Linux上,如果使用建议的命令,您可以关闭当前窗口,甚至终止与ETL服务器的网络会话


如果您在日志末尾看到关于EOL行的警告,请忽略它;这是因为为了简单起见,我忽略了一些可选的BTEQ语句,这些语句可以确保更干净的退出。

错误可以有多种类型,有些可以通过传递,有些则不能。例如,使用本机Teradata工具和实用程序,您可以使脚本忽略运行时错误,甚至语法错误,但通常不可能忽略网络连接错误,仍然执行查询的其余部分

通常在这种情况下,您希望使用BTEQ工具来执行SQL,您可以忽略其中的执行错误。BTEQ是一个标准的Teradata工具,可以从Teradata网站免费下载,通常由通过纯SQL查询Teradata的用户安装

要创建一个可行的BTEQ脚本,只需将所有查询复制粘贴到纯文本文件中,用分号分隔所有查询
并在该纯文本文件的最顶部添加一条登录语句,如下所述

.logon Teradata_IP_Address/your_UserName,your_Password;
示例脚本:

.logon 127.0.0.1/dbc,dbc;

/*Some sample queries. Replace these with your actual queries*/
SELECT Current_Timestamp;

CREATE TABLE My_Table (Dummy INTEGER) PRIMARY INDEX (Dummy);
BTEQ帮你解决了执行错误。为了避免网络连接问题,理想情况下,您希望在与Teradata保持恒定连接并安装Teradata工具和实用程序的服务器上执行该操作。这样的服务器可以称为ETL服务器、登录服务器、边缘节点或托管服务器(或其他,取决于您的环境)。您肯定需要该服务器的登录凭据(如果您还没有访问权限)。执行bteq脚本的首选命令是

Windows:
bteq例程日志文件2>错误日志文件

Linux(bash/ksh):
nohup bteqroutine\u logfile 2>错误\u logfile&

如果您在windows上,请确保不要关闭命令提示符。在Linux上,如果使用建议的命令,您可以关闭当前窗口,甚至终止与ETL服务器的网络会话


如果您在日志末尾看到关于EOL行的警告,请忽略它;这是因为为了简单起见,我忽略了一些可选的BTEQ语句,它们可以确保更干净的退出。

这个问题太广泛了,所以我建议您访问developer.teradata.com,了解teradata中存储过程异常处理的相关知识。“一直运行到结束,并将错误保存在日志文件中,每次出现错误时都会停止“这不是自相矛盾吗?在记录错误时,您希望它一直运行到最后,而不考虑任何执行错误,还是希望它在每个错误时都停止?这个问题太广泛了,但我建议您访问developer.teradata.com,了解teradata中存储过程异常处理的相关知识。“继续运行,直到结束,并将错误保存在日志文件中,并且它将