我正在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]))
您的提交丢失了"((";。如果您不想提交每个步骤,也可以在创建连接后添加一个con.autocommit = True
。