Linux的python3 – 无法打开库“SQL Server”

我正在尝试连接到Microsoft Azure SQL服务器数据库。

这是我如何连接:

conn = pyodbc.connect('DRIVER={SQL Server};SERVER=%s' % (self.config.get("Sql", "DataSource")), user= self.config.get("Sql", "UserId"), password=self.config.get("Sql", "Password"), database=self.config.get("Sql", "Catalog")) 

在处理此行时出现错误。 错误:

 pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)") 

不知道为什么会发生这种情况,有什么想法?

我也建议你安装ODBC驱动程序,然后尝试使用pyodbc。 我假设你在Ubuntu 15.04+机器上。

要安装ODBC驱动程序,请按照以下说明操作:

 sudo su wget https://gallery.technet.microsoft.com/ODBC-Driver-13-for-Ubuntu-b87369f0/file/154097/2/installodbc.sh sh installodbc.sh 

一旦你这样做,使用pip安装pyodbc并尝试以下脚本:

 import pyodbc server = 'tcp:myserver.database.windows.net' database = 'mydb' username = 'myusername' password = 'mypassword' cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) cursor = cnxn.cursor() cursor.execute("SELECT @@version;") row = cursor.fetchone() while row: print row row = cursor.fetchone() 

让我知道这是怎么回事。

干杯,
遇见

大多数人建议使用pymssql驱动程序

https://msdn.microsoft.com/en-us/library/mt715796(v=sql.1).aspx

这一切都假设你已经安装了HERE的驱动程序。

如果你设置使用pyodbc尝试:

 conn = pyodbc.connect('DRIVER={SQL server};SERVER=yoursqlAzureserver.database.windows.net,1433', user='yourName@yoursqlAzureserver', password='Password', database='DBName')