Подключение к InterBase или Firebird из Excel через ODBC

Для начала нужно установить драйвер ODBC для Firebird или InterBase (разумеется, перед этим нужно убедиться, что на компьютер уже установлена клиентская часть InterBase или Firebird).

Затем создать алиас ODBC:
  1. Открыть Панель управления
  2. Администрирование, Источники данных (Data Sources (ODBC)).
если у вас 64 разрядная Windows, то для конфигурирования 32-разрядного драйвера нужно явно запускать
%systemdrive%\Windows\SysWoW64\odbcad32.exe
по умолчанию запускается конфигурирование 64-разрядных драйверов
%systemdrive%\Windows\System32\odbcad32.exe
  1. ODBC-драйверы InterBase и Firebird не работают напрямую с сервером. Для их работы нужна клиентская часть (gds32.dll, ibclient64.dll, fbclient.dll), причем той же разрядности, что и приложение и ODBC драйвер.
    Например, если приложение 32-разрядное, значит нужен 32-разрядный ODBC и 32-разрядный клиент. Разрядность InterBase или Firebird при этом не имеет значения, он может быть как 32битным, так и 64битным.
  2. Переключиться на закладку System DSN
  3. Нажать кнопку Add. Выбрать драйвер.
  4. Настроить параметры драйвера

Пример для Firebird ODBC



Пример для InterBase DataDirect ODBC



Разумеется, если Firebird или InterBase (как сервер) установлены у вас на компьютере, вы можете указывать параметр "База данных" как c:\dir\data.gdb или localhost:c:\dir\data.gdb

Указание localhost: избавит вас от проблем, если вы запутались с клиентскими библиотеками Firebird и InterBase (и получили ошибку unavailable database).

Если на локальной машине Firebird или InterBase нет, то вместо localhost вы указываете имя сервера.

Нажмите на кнопку "Проверка соединения". Если все указано правильно, драйвер сообщит, что соединение прошло успешно. Нажмите Ok. В списке System DSN появится алиас EMPLOYEE.

Помните, что в цепочке приложение-драйвер-клиент все должно быть одной разрядности. Например, 32-разрядный Excel не будет работать с 64разрядным ODBC, а 32разрядный ODBC не будет работать с 64-разрядным клиентом Firebird или InterBase.

Запустите Excel. Выберите меню Данные, Импорт внешних данных, Создать запрос.

Выберите алиас EMPLOYEE.

Теперь можно выбрать таблицы и их столбцы, входящие в запрос.



Можно особо не мучиться, выбрать один столбец любой таблицы и пару раз нажать Next. На третий раз появится диалог:



Легче построить запрос в Microsoft Query, чем заполнять столбцы в самом первом диалоге Мастера запросов.



Здесь уже намного легче выбрать столбцы, добавить условия, добавить таблицы, определить между ними связи, или вообще ввести готовый оператор SQL вручную.

После проверки запроса необходимо обязательно сохранить запрос (кнопка с изображением дискеты). Запрос будет сохранен вместе со всеми параметрами алиаса, поэтому для "распространения" запроса на несколько компьютеров вовсе необязательно создавать алиас ODBC на каждом (конечно, ODBC-драйвер и клиентскую часть IB/FB все равно придется устанавливать на этих компьютерах).

По умолчанию Microsoft Query сохраняет запросы в каталог C:\Documents and Settings\Administrator\Application Data\Microsoft\Запросы в виде текстового файла с расширением qry (вместо Administrator в пути может быть имя пользователя данного компьютера).

После формирования запроса (и его сохранения) нужно нажать на кнопку с изображением двери



И после нажатия OK мы получим данные в таблице Excel:



Для изменения запроса можно вернуться в меню Данные, Импорт внешних данных, Изменить запрос. Предупреждающее сообщение про Мастер запросов можно игнорировать – откроется Microsoft Query, в котором можно будет визуально изменить исходный запрос.

Надо заметить, что сделать вид данных ближе к пользователю можно (похоже что) только в третьем диалекте, например, заменив имя столбцов Last_Name и First_Name на имена в двойных кавычках – "Фамилия" и "Имя".

Подпишитесь на новости Firebird в России

Подписаться