0

我正在 Tableau 中试验 Tabpy,并通过仪表板中的用户选择将数据写回数据库。

我的数据连接工作正常。但是,我在将变量传递回 SQL 查询时遇到了问题,并且收到一条错误消息,指出我尝试更新的表中不存在“变量名称”。这是我的代码。

该错误指出表上不存在“dlr_status”。这是我试图传回查询的变量。该数据库是 Postgres 数据库。任何帮助是极大的赞赏。我已经研究了几天,找不到任何东西。

SCRIPT_STR("
    import psycopg2
    import numpy as np
    from datetime import date
    
    con = psycopg2.connect(
     dbname='edw',
     host='serverinfo',
     port='5439',
     user='username',
     password='userpassword')
    dlr_no_change = _arg1[0]
    dlr_status = _arg2[0]
    update_trigger = _arg3[0]
    sql = '''update schema.table set status = dlr_status where dlr_no = dlr_no_change'''
    
    if update_trigger == True:
        cur = con.cursor()
        cur.execute(sql)
        cur.commit",
ATTR([Dlr No]), ATTR([dlr_status]), ATTR([Update_Now]))
4

1 回答 1

0

您的提交缺少“()”。con.autocommit = True如果您不想提交每个步骤,或者在创建连接后添加一个。

于 2022-03-04T12:57:00.693 回答