我可以使用我的python脚本连接到MS SQL Server Management Studio中的数据库,没有任何问题(使用pyodbc)。然后我创建了一个名为tempdb的数据库-请参阅下面提到的数据库资源管理器图片。我通过在MS SQL Management Studio中运行直接查询来完成此操作,并创建了一个表(DepartmentTest)现在,如果我这样做,请在我的脚本中:
cursor.execute("SELECT * FROM DepartmentTest")
我得到:
[Microsoft][ODBC SQL服务器驱动程序][SQL服务器]无效的对象名称
还尝试了:上述查询的一些选项,如:
dbo.DepartmentTest
[dbo].DepartmentTest
(而不仅仅是上面提到的DepartmentTest。)
当连接到master数据库并访问master数据库中的表时,我没有遇到这个问题,例如,我可以执行:
cursor.execute("SELECT * FROM MSreplication_options")
然后我拿回内容。系统表下的任何内容都可以在脚本中正常工作。
在下面提到的浏览器图片中:我可以访问绿色圈出的表。我不能访问红色圈出的表。
我假设我没有使用语法正确地指向我的表,但是我不确定如何修改我的查询。(好像SystemTables下的任何内容都可以使用我的代码访问。(我确实使用代码连接到了正确的数据库名称)谢谢并问候
2条答案
按热度按时间fxnxkyjh1#
你应该仔细检查你是否连接到正确的数据库,假设是'tempdb'。如果你这样做,并尝试再次运行查询,它应该工作。
dldeef672#
看起来到服务器的可信连接是问题所在。一旦我用用户和密码凭据进行了连接,我就能够访问那个数据库了。