我在这句话里有个错误:
cursor.execute("SELECT * FROM dbo.User")
错误:
pyodbc.programmingerror:('42000',“[42000][microsoft][odbc driver 11 for sql server][sql server]关键字“user”附近的语法不正确(156)(sqlexecdirectw)“)
代码如下。我假设连接正常,因为除非执行查询,否则什么都不会发生?我做错什么了吗?
SERVER = 'LAPTOP-1E7UL24T\SQLEXPRESS02'
DATABASE = 'PT'
DRIVER='{ODBC Driver 17 for SQL Server}'
DATABASE_CONNECTION=f'Driver={DRIVER};SERVER={SERVER};Database={DATABASE};Trusted_Connection=yes;'
print(DATABASE_CONNECTION)
cnxn=pyodbc.connect(DATABASE_CONNECTION)
cursor=cnxn.cursor()
cursor.execute("SELECT * FROM dbo.User")
1条答案
按热度按时间h7appiyu1#
User
是保留字,需要转义,通常使用方括号。但双引号也能起作用:
不过,如果你避免使用保留字,你的生活(以及任何跟随你的开发人员)会轻松很多。