ODBC-драйвер для Firebird
ODBC (Open Database Connectivity) — старый, но живой универсальный стандарт доступа к базам данных. Если к базе Firebird нужно подключить что-то «чужое» — Excel, Power BI или другую BI-систему, скрипт на Python через pyodbc, отчётный инструмент, — почти наверняка понадобится именно ODBC-драйвер. Специализированные инструменты (isql, DBeaver, IBExpert) идут своими путями, а вот всё остальное ПО обычно умеет говорить с базами только через ODBC.
Откуда скачать
Драйвер называется Firebird ODBC/JDBC Driver и официально распространяется через сайт firebirdsql.org — раздел ODBC/JDBC driver. Там же лежат актуальные версии и архив старых.
Драйвер поддерживает серверы Firebird 2.5–5.x. Скачивать его с левых сайтов-каталогов не стоит: версия оттуда может быть древней, а со старым драйвером новые серверы работают плохо (об этом ниже).
Установка
Windows
На Windows драйвер ставится отдельным инсталлятором — в поставку сервера он не входит. Инсталляторы есть двух разрядностей, и тут главное правило всей темы:
Разрядность драйвера должна совпадать с разрядностью приложения, а не сервера.
Если у вас 64-битный сервер Firebird, но Excel 32-битный — нужен 32-битный драйвер. Несовпадение разрядности — источник ошибок №1 при подключении через ODBC. При необходимости обе версии драйвера ставятся рядом и не мешают друг другу.
Linux
На Linux драйвер работает через unixODBC: ставится библиотека драйвера и регистрируется в конфигурации менеджера драйверов — файл odbcinst.ini. Дальше приложения используют DSN так же, как на Windows.
Строка подключения и DSN
Подключиться можно двумя способами: прямой строкой подключения (DSN-less) или через настроенный источник данных DSN.
Пример строки подключения:
DRIVER={Firebird ODBC Driver};DATABASE=localhost/3050:C:\data\base.fdb;UID=SYSDBA;PWD=пароль;CHARSET=UTF8;
DRIVER— имя установленного драйвера;DATABASE— база в форматехост/порт:путь_к_файлу;UID/PWD— логин и пароль;CHARSET— кодировка подключения, для кириллицы указывать обязательно.
DSN настраивается штатной утилитой odbcad32.exe. Внимание, в Windows их две, и пути нелогичные:
- 64-битные DSN:
C:\Windows\System32\odbcad32.exe - 32-битные DSN:
C:\Windows\SysWOW64\odbcad32.exe
Если настроили DSN, а приложение его «не видит» — почти наверняка вы открыли администратор не той разрядности.
Типичные грабли
| Симптом | Причина | Лечение |
|---|---|---|
| Ошибка про несовпадение архитектуры / драйвер не виден | Разрядность драйвера не совпадает с разрядностью приложения | Поставить драйвер той же битности, что у приложения (не сервера) |
| DSN создан, но приложение его не показывает | DSN настроен в odbcad32.exe другой разрядности | 64-бит: System32\odbcad32.exe, 32-бит: SysWOW64\odbcad32.exe |
| Знаки вопроса или кракозябры вместо кириллицы | Не указана кодировка подключения | Добавить CHARSET=UTF8; в строку подключения или в настройки DSN |
| Странные ошибки при подключении к свежему серверу | Старая версия драйвера с новыми серверами Firebird | Скачать актуальный драйвер с firebirdsql.org |
Чем ещё подключаться
ODBC нужен не всегда. Для разработки и администрирования удобнее специализированные инструменты:
- isql — штатная консольная утилита из поставки Firebird;
- DBeaver — универсальный клиент для разных СУБД;
- IBExpert — специализированная среда разработки под Firebird.
Что почитать дальше
- Скачать Firebird — сервер и драйверы с официального сайта
- Порты Firebird — какой порт открывать в firewall для подключений
- Установка Firebird на Windows — если сервер ещё не стоит
- Глоссарий — язык запросов с примерами
Обсуждение