使用占位符时pymssql:DBLib错误消息20018

2024-10-04 01:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python3.8.5和pymssql 2.1.5。我正在尝试运行这段代码:

conn = pymssql.connect(settings.MSSQLHOST,settings.MSSQLUSER,settings.MSSQLPASSWORD,settings.MSSQLDATABASE)
cursor = conn.cursor(as_dict=True)
table = "NIL_ViewStockAvailable"
cmd = "SELECT ProductCode FROM %s"
cursor.execute(cmd, (table,))
result = cursor.fetchall()
conn.close()

它失败于:

Incorrect syntax near 'NIL_ViewStockAvailable'.DB-Lib error message 20018, severity 15: General SQL Server error: Check messages from the SQL Server

如果我不使用模板占位符,它可以正常工作:

cursor.execute("SELECT ProductCode FROM %s" % table)

我做错了什么


Tags: fromcmdexecutesqlsettingsservertableerror