Подключение базы Firebird

Материал из Oktell
Перейти к: навигация, поиск

Наверх

В этой статье описывается подключение базы данных Firebird к серверу MSSQL 2008 R2 (SP2) x64.

Шаг 1. Скачайте и установите сервер Firebird (32-разрядную версию) по ссылке http://sourceforge.net/projects/firebird/files/firebird-win32/2.5.3-Release/Firebird-2.5.3.26778_0_Win32.exe/download

Ссылки на скачивание доступны на официальном сайте Firebird: http://www.firebirdsql.org/en/firebird-2-5-release-description/


Шаг 2. Установите провайдер данных ODBC для Firebird. Так как используется 64-битная версия SQL-сервера, то и провайдер данных следует устанавливать той же разрядности под 64-битные версии ОС. Скачать драйвер можно по ссылке http://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.2-Release/Firebird_ODBC_2.0.2.153_x64.exe/download

Если у вас 32-разрядный SQL-сервер, вам следует использовать 32-разрядную версию провайдера ODBC. Скачать можно по ссылке http://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.2-Release/Firebird_ODBC_2.0.2.153_Win32.exe/download

Список драйверов доступен по ссылке: http://www.firebirdsql.org/en/odbc-driver/


Шаг 3. Если у вас 64-битная версия MSSQL вам потребуется 64-разрядная библиотека клиента Firebird. Скачайте архив с файлом по ссылке Fbclient.zip и распакуйте его в любое доступное место. В примере, файл был распакован в заранее созданную папку C:\Program Files (x86)\Firebird\Firebird_2_5\bin\x64


Подключение базы Firebird 001.png


Шаг 4. Настройте системный DSN. Откройте Пуск и запустите утилиту "Источники данных (ODBC)". Для 32-битного SQL-сервера используйте %windir%\SysWOW64\odbcad32.exe.

Запустится утилита "Администратор источников данных ODBC". Перейдите на вкладку Системный DSN и нажмите "Добавить". Выберите драйвер Firebird/InterBase(r) driver


Подключение базы Firebird 002.png


Введите следующие настройки:

  • Имя источника данных (DSN) - имя DSN, которое вы будете использовать для подключения к базе Firebird. В примере FirebirdBase.
  • База данных - путь к файлу базы. В примере C:\FBbase.GDB.

ВНИМАНИЕ:В некоторых случаях требуется писать 127.0.0.1:C:\FBbase.GDB

  • Клиент - путь к библиотеке клиента Firebird из шага 3. В примере C:\Program Files (x86)\Firebird\Firebird_2_5\bin\x64\fbclient.dll
  • Пользователь - логин для подключения. В примере используется стандартный логин SYSDBA
  • Пароль - пароль для подключения. В примере используется стандартный пароль masterkey
  • Остальные настройки оставлены по умолчанию.

После ввода параметров проверьте соединение с помощью соответствующей кнопки. Если соединение успешно нажмите Сохранить.


Подключение базы Firebird 003.png


Шаг 5. Настройте связанный сервер (Linked Server) в MSSQL. Для этого откройте SQL Server Management Studio и на ветке Объекты сервера/Связанные серверы добавьте новый связанный сервер.

На вкладке Введите следующие настройки:

  • Связанный сервер - введите название связанного сервера, которое вы будете использовать в запросах. В примере FB.
  • Поставщик - выберите Microsoft OLE DB Provider for ODBC Drivers
  • Название продукта - введите любое название, в примере FB
  • Источник данных - введите название системного DSN из шага 4. В примере FirebirdBase.


Подключение базы Firebird 005.png


Нажмите OK.


Шаг 6. Для корректной работы связанного сервера требуется установить настройку поставщика данных "Использовать только нулевой уровень". Для этого в ветке Объекты сервера/Связанные серверы/Поставщики откройте параметры поставщика MSDASQL. Поставьте галочку напротив настройки "Только нулевой уровень" и нажмите ОК.


Подключение базы Firebird 006.png


Шаг 7. Обращение к связанному серверу происходит через его имя, которое вы указали в пункте 5. В примере используется имя сервера FB. Ниже показаны основные виды запросов.

Считать данные из таблицы можно с помощью запроса

select * from FB...Table

Изменить данные можно с помощью запроса

UPDATE FB...Table 
SET NAME= 'admin' 
WHERE ID= 1

Добавить строку можно с помощью запроса

INSERT INTO FB...Table (ID, NAME)
VALUES (1000, 'manager')