Python 如何区分Teradata中的语法错误和未找到行

Python 如何区分Teradata中的语法错误和未找到行,python,teradata,Python,Teradata,我使用Python2.7进行Teradata DB交互。我正在使用Python执行一个TD SQL查询,结果存储在.txt文件中。一切都很好,但是当sql查询中出现语法错误或查询没有返回行时,在这两种情况下,我得到的是一个空的.txt文件,因此在得到一个空文件的情况下,我无法确定查询是有语法错误还是没有返回行。 在TD中有什么方法可以做到吗?如果没有行,那么它将只返回txt文件中的列标题。(如mysql或Hana) 谢谢synax错误和不返回行之间存在巨大差异,但必须由您的Python代码来处理

我使用Python2.7进行Teradata DB交互。我正在使用Python执行一个TD SQL查询,结果存储在.txt文件中。一切都很好,但是当sql查询中出现语法错误或查询没有返回行时,在这两种情况下,我得到的是一个空的.txt文件,因此在得到一个空文件的情况下,我无法确定查询是有语法错误还是没有返回行。 在TD中有什么方法可以做到吗?如果没有行,那么它将只返回txt文件中的列标题。(如mysql或Hana)


谢谢

synax错误和不返回行之间存在巨大差异,但必须由您的Python代码来处理,Teradata没有创建此文件。是的,我同意,但我正在设置一个TD参数。export report file=results.txt将存储查询返回的结果。在这两种情况下,无行和语法错误文件都是空的。好的,您正在运行BTEQ导出,恐怕无法强制列标题。当出现错误时删除文件如何?添加
。如果错误代码为0,则添加.os del results.txt在选择之后。这是正确的。但是我一次运行多个查询,其中有些返回行,有些没有返回行&有些有语法错误,并试图将所有结果存储在一个文件(results.txt)中。之后,我必须确定查询。这是一种要求。如果你从一开始就说出来会更好。为什么要将所有内容存储在一个文件中?您可以添加
选择“查询失败”
而不是
.os del
,或者尝试
ECHOREQ ERRORONLY
以获取失败的查询。