0

我正在使用这个teradata 模块,然后我换成了这个模块。

事实上,在旧版本中,很容易通过在函数中设置 queryBands 参数来设置 queryband udaExec.connect。在这个新模块中,我找不到像在旧模块中那样设置查询带的简单方法。

有谁知道实现这一目标的最佳方法?

4

1 回答 1

1

teradatasql包严格来说是一个驱动程序它不包括您在上面链接的 teradata ( udaExec ) 包文档的第 2 节中列出的具有附加“DevOps 功能”包装

您需要使用SET QUERY_BAND='name1=value1;name2=value2;...;nameN=valueN;' FOR SESSION语句构建一个字符串并将其传递给.execute.

您可以像tdodbc那样从字典中构建该语句,但不会预先填充任何条目(如 ApplicationName、Version、ClientUser 等);如果你想要它们,你必须自己添加它们。

c.execute("SET QUERY_BAND = '{};' FOR SESSION".format(";".join("{}={}".format(k,v) for k, v in queryBands.items())))
于 2020-07-30T16:16:22.600 回答