【发布时间】:2012-08-04 17:42:54
【问题描述】:
我正在尝试使用 pyodbc 连接到 SQL Server 2008 数据库的本地副本(它可以很好地连接到远程生产数据库)。
但是,当我尝试使用以下命令连接到本地副本时:
pyodbc.connect('DRIVER={SQL
Server};SERVER=localhost;DATABASE=mydb;UID=me;PWD=pw')
连接失败并显示以下错误消息:
pyodbc.Error: ('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()). (5)')
尝试通过 Windows 身份验证(使用'Trusted_Connection=yes')进行连接也会失败。
我可以使用带有 Windows 身份验证和 SQL Server 身份验证的 SQL Server Management Studio 很好地连接到本地数据库。任何想法为什么我无法与 pyodbc 连接?
【问题讨论】:
-
什么版本的 MDAC?由于
{SQL Server}提供程序,猜测它是旧版本。旧版本在命名管道和使用localhost作为服务器名称方面存在一些问题。您是否尝试过更新版本的native client? -
你试过 server = (local) 吗?
标签: python sql-server sql-server-2008 pyodbc