如何在 teradatasql lib 中设置查询带?
How to set query bands in teradatasql lib?
我正在使用这个 teradata module and then I've changed to this new one。
事实是,在旧版本中,很容易通过在 udaExec.connect
函数中设置 queryBands 参数来设置查询带。在这个新模块中,我找不到像在旧模块中那样简单地设置查询带的简单方法。
有谁知道实现此目标的最佳方法吗?
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())))
我正在使用这个 teradata module and then I've changed to this new one。
事实是,在旧版本中,很容易通过在 udaExec.connect
函数中设置 queryBands 参数来设置查询带。在这个新模块中,我找不到像在旧模块中那样简单地设置查询带的简单方法。
有谁知道实现此目标的最佳方法吗?
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())))