Я следовал официальной документации для установки конкретного драйвера ODBC для Linux, но постоянно получаю ошибку IM002, указывающую на отключение между диспетчером драйверов и файлами конфигурации.
Настройка системы:
- ОС: Ubuntu 20.04 (приблизительно)
- Драйвер: HFSQL ODBC Linux 64-разрядная версия (через install.sh)
- Менеджер ODBC: libiodbc2 libiodbc2-dev
- Пакет Python: pyodbc
- Я установил зависимости, необходимые WinDev:
Код: Выделить всё
sudo apt-get install libiodbc2 libiodbc2-dev
- Драйвер успешно установлен. Я проверил запись в /etc/odbcinst.ini:
Код: Выделить всё
[ODBC Drivers]
HFSQL = Installed
[HFSQL]
Description = HFSQL ODBC Driver
Driver = /home/datpandx/hfsql/wd250hfo64.so
- Я настроил пользовательский DSN в ~/.odbc.ini:
Код: Выделить всё
[ODBC Data Sources]
HFSQL_FRUTAL = HFSQL
[HFSQL_FRUTAL]
Driver = HFSQL
Server Name = 26.***
Server Port = 4900
Database = ***
UID = ***
PWD = ***
Проблема: когда я пытаюсь подключиться с использованием строки подключения без DSN (чтобы исключить проблемы с путем к файлу .ini), происходит немедленный сбой.
Код:
Код: Выделить всё
import pyodbc
print(f"Available Drivers: {pyodbc.drivers()}")
# Output: ['ODBC Drivers', 'HFSQL']
user = '***'
password = '***'
try:
conn_str = (
f"DSN={driver_name};"
f"UID={user};"
f"PWD={password};"
)
print(f"Trying to connect to: {driver_name} ...")
conn = pyodbc.connect(conn_str)
print("¡CONNECTED!")
conn.close()
except Exception as e:
print("Fail")
print(e)
Код: Выделить всё
['ODBC Drivers', 'HFSQL']
Trying to connect to: HFSQL_FRUTAL ...
Fail
('HY000', 'The driver did not supply an error!')
- Проверенные пути к файлам в /etc/odbcinst.ini являются абсолютными и правильными.
- Попытался явно установить переменные среды перед запуском
скрипта: экспорт LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/datpandx/hfsql - Пытался использовать подход DSN (DSN=HFSQL_FRUTAL) с той же ошибкой
результат.
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-on-linux
Мобильная версия