Я работаю в среде, в которой unixODBC установлен на централизованно смонтированном диске всей организации, но нам (настоящим разработчикам) не разрешено устанавливать в него драйверы или источники данных. Это все в прошлом, но я должен жить с этим.
Прямо сейчас я пытаюсь создать приложение python, которое подключается к серверу mssql 2005 из этого unix enviro, поэтому мне, очевидно, нужны драйверы sql!
Я обошел отсутствие доступа к предустановленному unixODBC, переустановив unixODBC на той части диска, над которой у меня есть полный контроль. Я установил freeTDS и все настроил так, чтобы успешно подключиться к серверу с помощью isql — отлично!
Теперь единственная проблема заключается в том, что когда я выполняю строку в своей программе на Python (которая использует pyodbc), например:
import pyodbc
pyodbc.connect("DSN=<dsn_name>;UID=...;PWD=...", autocommit=True)
я получил
('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnectW)')
Я предполагаю, что это связано с тем, что pyodbc все еще ищет исходную установку unixODBC, а не мою локальную. Поэтому мне было интересно:
Как настроить мои сценарии для поиска моей локальной установки unixODBC вместо той, которая установлена на основном диске?