sqlcmd incapable de trouver une bibliothèque (libmsodbcsql-17.0.so.1.1) qui est là

Je suis sur Ubuntu 16.04 en essayant d’utiliser sqlcmd lancé par programmation à partir d’un script pour faire une requête SQL dans le cloud de la VM.

 vm-dev:~$ sudo sqlcmd -S my-db.url.net -d my-db 

Je continue à avoir cette erreur:

Sqlcmd: Erreur: Pilote ODBC Microsoft 17 pour SQL Server: Impossible d’ouvrir lib ‘/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1’: fichier introuvable.

Mais le fichier est clairement là:

 vm-dev:~$ ls /opt/microsoft/msodbcsql17/lib64/ 

libmsodbcsql-17.0.so.1.1

J’ai le même problème, cette solution a fonctionné pour moi: vous devez rétrograder la version de msodbcsql,

  1. apt-get remove msodbcsql
  2. apt-cache madison msodbcsql
  3. apt-get install msodbcsql = 13.1.9.2-1
  4. apt-cache madison mssql-tools
  5. ACCEPT_EULA = Y apt-get install mssql-tools = 14.0.6.0-1
  6. apt-mark hold mssql-tools
  7. apt-mark hold msodbcsql

J’ai cette solution à partir de ce lien:

https://github.com/Microsoft/msphpsql/issues/684

Je laisse ces scripts qui ont fonctionné pour moi.

Mon problème était assez similaire au vôtre et j’ai testé toutes les options telles que changer l’emplacement du pilote, créer un lien symbolique, modifier les fichiers /etc/*.ini, etc.

Mon problème, exécuter Python 3.6, paquet pyodbc dans un conteneur Docker de alpine était la bibliothèque libssl1.0.0

Vous trouverez ici mon script d’installation pour l’ image de docker pyodbc Debian 8 (alpine) en utilisant le pilote v13

DRIVER = {Pilote ODBC 13 pour SQL Server}

La commande que j’ai exécutée pour la connexion à la firebase database était la suivante:

 import pyodbc connection_ssortingng = 'DRIVER={ODBC Driver 13 for SQL Server};' connection_ssortingng += 'SERVER={0};DATABASE={1};UID={2};PWD={3};'.format(host,dbname,user,pwd) connection = pyodbc.connect(connection_ssortingng)