"Invalid object name" 从 pyodbc 插入 SQL 服务器时出错
"Invalid object name" error on INSERT to SQL Server from pyodbc
我正在尝试使用 pyodbc 模块将一些数据插入 SQL 服务器数据库。
连接字符串正常工作。
下面的代码列出了table中的两列。
for row in cursor.columns(table='InvUtil'):
print (row.column_name)
我在 InvUtil table 中看到以下两列:
server
termss
然后我尝试使用以下命令插入数据:
cursor.execute("INSERT INTO InvUtil(server, termss) values (?, ?)", 'ten', 'eleven')
我收到以下错误。似乎 InvUtil table 名称有问题。
Traceback (most recent call last):
File "SQLpydobc.py", line 61, in <module>
cursor.execute("INSERT INTO InvUtil(server, termss) values (?, ?)", 'ten', 'eleven')
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]**Invalid object name 'InvUtil'**. (208) (SQLExecDirectW)")
我希望脚本 运行 没有错误。我稍后在脚本中有一个提交命令,所以应该在列中看到数据。
也许用 schema/db 指定完整的 table 名称,如 dbo.InvUtil
?
或者在连接字符串中指定默认数据库名称(Database=dbo
或 InitialCatalog=dbo
)。
我正在尝试使用 pyodbc 模块将一些数据插入 SQL 服务器数据库。
连接字符串正常工作。
下面的代码列出了table中的两列。
for row in cursor.columns(table='InvUtil'):
print (row.column_name)
我在 InvUtil table 中看到以下两列:
server
termss
然后我尝试使用以下命令插入数据:
cursor.execute("INSERT INTO InvUtil(server, termss) values (?, ?)", 'ten', 'eleven')
我收到以下错误。似乎 InvUtil table 名称有问题。
Traceback (most recent call last):
File "SQLpydobc.py", line 61, in <module>
cursor.execute("INSERT INTO InvUtil(server, termss) values (?, ?)", 'ten', 'eleven')
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]**Invalid object name 'InvUtil'**. (208) (SQLExecDirectW)")
我希望脚本 运行 没有错误。我稍后在脚本中有一个提交命令,所以应该在列中看到数据。
也许用 schema/db 指定完整的 table 名称,如 dbo.InvUtil
?
或者在连接字符串中指定默认数据库名称(Database=dbo
或 InitialCatalog=dbo
)。