web-dev-qa-db-fra.com

Pypyodbc: impossible d'ouvrir la lib 'FreeTDS': fichier introuvable ") erreur lors de la tentative de connexion au serveur SQL

J'essaie de me connecter à un serveur SQL à l'aide de Pypyodbc sur Mac et j'obtiens l'erreur suivante:

pypyodbc.DatabaseError: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'FreeTDS' : file not found")

J'ai installé freeTDS et unixodbc

brew install unixodbc
brew install freetds

et voici ma chaîne de connexion avec des données factices:

connection_String = "Driver=FreeTDS;Server=123.12.12.12;tds_version=7.2;Database=db_db;Uid=username:pwd=password:port=1433"
19
Mo.

Vérifiez votre /etc/odbcinst.ini ou il pourrait être sous /etc/unixODBC/odbcinst.ini

Dans votre chaîne de connexion, vous avez quelque chose comme ceci "DRIVER = FreeTDS", il doit y avoir une entrée dans ce fichier comme la suivante. Vous devrez peut-être modifier l'emplacement de votre pilote.

[FreeTDS]
Description             = FreeTDS unixODBC Driver
Driver          = /usr/lib64/libtdsodbc.so.0
Setup           = /usr/lib64/libtdsodbc.so.0
UsageCount              = 1
10
KtmDan

Tout d'abord, vous pouvez utiliser pymssql qui ne nécessite pas de configurer unixODBC, ce qui est le problème ici.

Pour configurer unixODBC avec FreeTDS, procédez comme suit: http://www.unixodbc.org/doc/FreeTDS.html

Il existe un outil fourni avec FreeTDS, tsql. Utilisez-le pour tester votre chaîne de connexion. C'est un outil très nu et quelque chose de douloureux. : - /

Enfin, il y a une question similaire avec d'autres problèmes dans StackOverflow: Comment configurer pyodbc pour accepter correctement les chaînes de SQL Server en utilisant freeTDS et unixODBC?

6
Javier