无法使用 pyodbc/pymssql 和 Robot Framework 连接到 SQL\Express

Posted

技术标签:

【中文标题】无法使用 pyodbc/pymssql 和 Robot Framework 连接到 SQL\\Express【英文标题】:Cannot connect to SQL\Express with pyodbc/pymssql and Robot Framework无法使用 pyodbc/pymssql 和 Robot Framework 连接到 SQL\Express 【发布时间】: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 包含databaseuserPasswordhostport 我能够使用您的解决方案进行连接。谢谢! 【参考方案1】:

我能够使用@Goralight 方法进行连接:Connect To Database Using Custom Params pymssql $DBConnect 其中$DBConnect 包含databaseuserPasswordhostport

【讨论】:

以上是关于无法使用 pyodbc/pymssql 和 Robot Framework 连接到 SQL\Express的主要内容,如果未能解决你的问题,请参考以下文章

无法添加新的ParseUser

我是笨人——读Rob Pike的《Notes on C Programming 》

求:路径规划问题rob题解,最好给pascal或c++标程

CSS CSS启动器Rob

Rob Pike:我得到的最佳编程建议

重新排序缓冲区:指针值满时?