Je travaille dans un environnement où unixODBC est installé sur un lecteur central monté au niveau de l'organisation, mais nous (les développeurs actuels) ne sommes pas autorisés à installer des pilotes ou des sources de données. Tout est en arrière mais je dois vivre avec.Utilisation de l'installation unixODBC alternative
En ce moment j'essaie de construire une application python qui se connecte à un serveur mssql 2005 à partir de cet enviro unix, donc j'ai évidemment besoin de pilotes sql! J'ai contourné mon manque d'accès à l'unixODBC préinstallé en réinstallant unixODBC sur une partie du lecteur sur lequel j'ai un contrôle total. J'ai installé freeTDS et tout configuré pour que je puisse me connecter avec succès au serveur avec isql - super!
Maintenant, le seul problème est, quand j'exécute une ligne dans mon programme python (qui utilise pyodbc) comme:
import pyodbc
pyodbc.connect("DSN=<dsn_name>;UID=...;PWD=...", autocommit=True)
Je reçois
('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnectW)')
Je suppose que cela est dû au fait pyodbc est cherche toujours l'installation originale d'unixODBC et pas mon local. Alors je me demandais:
Comment puis-je configurer mes scripts pour chercher mon unixODBC installation locale au lieu de celui installé sur le disque principal
Pouvez-vous préciser un peu? Je n'ai jamais vraiment joué avec setup.py et je ne suis pas sûr de ce que je fais. – matrix10657
En supposant que vous utilisez [pyodbc 2.1.11] (http://code.google.com/p/pyodbc/source/browse/setup.py?name=2.1.11), ajoutez les lignes mentionnées ci-dessous à la ligne numéro 142 Assurez-vous simplement que les chemins pointent vers vos répertoires d'installation personnalisés. – tuomur
Thx @ eclaird, J'ai eu le même problème sur OS X, où Apple inclus iODBC ne fonctionne pas pour la version MSSQL à laquelle je dois me connecter. J'ai eu des problèmes pour construire pyodbc contre une installation différente de odbc, mais votre solution a fonctionné comme un charme =) – Justin