Linux python3-не удается открыть lib 'SQL Server'

Я пытаюсь подключиться к базе данных Microsoft Azure SQL server.

вот как я пытаюсь подключиться:

 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)")

не могу понять, почему это происходит, есть идеи?

3 ответов


Я также рекомендую вам установить драйвер 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

Как только вы это сделаете, установите pyodbc с помощью pip и попробуйте следующий скрипт:

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

это все при условии, что у вас есть драйверы от здесь уже установлены.

Если вы настроены на использование pyodbc попробуйте:

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

заменить DRIVER={SQL Server} с DRIVER={/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1}