Python MS SQL无效的对象名称
我有 这给了我回溯错误:Python MS SQL无效的对象名称,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我有 这给了我回溯错误: cursor.execute("select RM_ID FROM Sales.dbo.MARKETING where VERSION = 'SomeVersion'") 我还有其他几行代码: pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Sales.dbo.MARKETING'. (208)
cursor.execute("select RM_ID FROM Sales.dbo.MARKETING where VERSION = 'SomeVersion'")
我还有其他几行代码:
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Sales.dbo.MARKETING'. (208) (SQLExecDirectW)")
除了没有给我错误的列名之外,它们完全相同。我不确定我的错误是什么
注意事项:
- 我已经检查了表中的列名,以确保它存在
- 我注意到这个列是这个表的键。也许键需要不同的语法
- 当我在SQL Server中执行查询时,它运行得很好
cursor.execute("select RUNDATEEST FROM Sales.dbo.MARKETING where VERSION = 'SomeVersion'")
也许您需要以同样的方式围绕列名。我不是python开发人员……您可以调试
游标。执行失败的语句并检查sql连接字符串/属性吗?也许它没有将数据库连接到正确的数据库。它们使用的是包含数据库名称的三部分名称,因此数据库上下文应该无关紧要。但是,如果用户不同,他们可能没有相应的权限。@DMason I最近被授予仅访问SQL Server上的此数据库的权限,因此不太可能。字符串为:cnxn=pyodbc.connect('DRIVER={SQL Server};Server=ARACHNSQL1;DATABASE=SALES;Trusted_Connection=yes')@JNK我将与数据库管理员进行检查。确定,因此连接字符串似乎是在运行时设置的。我看到受信任的\u连接-是
。这意味着您的应用程序正在尝试使用应用程序的windows凭据连接到MSSQL。应用程序是否在您的凭据下运行?(它可能在另一个用户下运行。可能正在进行模拟…)添加方括号为我解决了此错误。我正在使用C#中的ODBC通过一个ODBC连接对同一台服务器上的两个不同数据库运行SQL。
[Sales].[dbo].[MARKETING]