2014-02-19 153 views
0

我正在使用python 3.3 + pypyodbc。当我尝试:python 3.3,pypyodbc,连接到SQL Server失败

connection = pypyodbc.connect("DRIVER{SQLServer}; 
           SERVER=serverIP; 
           UID=myid; 
           PWD=mypwd; 
           DATABASE=mydb") 

我得到一个错误:

pypyodbc.DatabaseError: ('08001', '[08001] 
            [Microsoft] 
            [ODBC SQL Server Driver] 
            [DBNETLIB]Invalid connection.') 

我知道IP和凭据是正确的,我使用它们每天使用Microsoft SQL Server Management Studio Express查询服务器。我在这里错过了什么?

谢谢。

+0

另一种方法是[安装](https://www.microsoft.com/en-us/download/details.aspx?id=53339)Microsoft ODBC驱动程序。然后用'DRIVER = {ODBC Driver 13 for SQL Server}替换'DRIVER {SQLServer};';' – mondieki

回答

-2

连接字符串是不正确的,谷歌的正确SQLSERVER的ODBC连接字符串

+0

你好 - 我昨天安装了你的软件包,并且能够使用我的sql-login获取数据 - 感谢所有在这方面做了工作。我可以使用Windows身份验证使用pypyodbc连接到SQL Server吗? – whytheq

3

尝试这样的事情......

import pypyodbc 

connection_string ='Driver={SQL Server Native Client 11.0};Server=YOURSERVER;Database=YOURDATABASE;Uid=YOURUSER;Pwd=YOURPASSWORD;' 

connection = pypyodbc.connect(connection_string) 

SQL = 'SELECT * FROM <YOURTABLE>' 

cur = connection.cursor() 
cur.execute(SQL) 

cur.close() 
connection.close() 
+0

这只能在Windows上使用''Driver = {SQL Server Native Client 11.0};''? –

1

尝试是这样的

import pypyodbc 
conn = pypyodbc.connect(driver='{SQL Server}', server='servername', database='dbname', uid='userName', pwd='Password') 

更改服务器名称和其他值与您的凭据。 它适用于我。 如果您使用的是天蓝色的sql服务器,请确保将您的IP添加到防火墙规则中。