【发布时间】:2017-05-15 21:11:36
【问题描述】:
我在使用 Robot Framework 的 DatabaseLibrary 连接到工作中的 SQL\Express 数据库实例时遇到问题。
如果我将Connect To Database 与先前定义的变量一起使用,或者将Connect To Database Using Custom Params 与连接字符串一起使用,我会得到以下结果:
-
pyodbc:
('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53)') -
pymssql::
InterfaceError: Connection to the database failed for an unknown reason.
我使用的连接字符串如下:'DRIVER={SQL Server};SERVER=localhost\SQLExpress;UID=sa;PWD=mypass;DATABASE=MyDb'
我从指南和教程中复制了几个示例,所有示例都产生相同的结果,所以我的猜测是我的结果有问题,但我就是不知道是什么。我可以使用 Microsoft SQL Server Management Studio 访问数据库就好了,所以数据库正在运行。
任何指导将不胜感激!
【问题讨论】:
-
您是否尝试过在不使用 Robot Framework 的情况下从纯 Python 脚本连接到数据库?顺便说一句,请注意 pymssql 不是 ODBC 访问层,因此您发布的连接字符串几乎肯定不会与 pymssql 一起使用。
-
可能与您无关,但在我们的工作场所,我们有许多 MSSQL 服务在一台机器(08、12、16)上运行,问题是我们的端口和界面变得混乱。至于不同接口报错信息的区别,pymssql基本都是对所有东西都说那个错误。我使用的关键字是:
Connect To Database Using Custom Params pymssql ${DBConnect}其中${DBConnect}包含database、user、Password、host和port -
我能够使用您的解决方案进行连接。谢谢!
标签: python robotframework pyodbc pymssql