Импорт данных из Firebird

Добрый день!
Необходимо импортировать данные из БД Firebird, которая находится на отдельном сервере, в Terrasoft. В Terrasoft стоит MS SQL. Пробовала через компоненты ADO, не устанавливается соединение. Буду очень благодарна, если подскажите какую-либо идею, возможно существует пример решения.

Нравится

17 комментариев

ADO отличный вариант, но медленный... объемы базы, количество записей какое?
насчет не устанавливается соединение основная проблема видимо в строке соединения? тут масса примеров http://www.connectionstrings.com/

а какой вариант более быстрый?
База достаточно большая, каждый день заносится новая информация и именно эту информацию мне необходимо брать в Terrasoft и формировать на основании ее отчет.
Проблема с соединением именно в строке (спасибо за ссылку!) и в выборе провайдера OLEDB

ODBC из бесплатных проще всего взять "родной" http://www.firebirdsql.org/en/odbc-driver/
Более быстрый будет перенос данных средствами импорта/экспорта на сервере... как вариант написать небольшую утилиту, которая будет запускаться планировщиком и из базы firebird кидать данные в базу SQL Terrasoft...
Если использовать ADO и средства Terrasoft то схема возможна аналогичная, пишем все в рамках Terrasoft, запускаем опять же планировщиком или вручную - подтягиваются свежие данные

Возможен ли такой вариант:
Если все делать через Terrasoft. Подвязать соединение с базой через ADO на кнопку. То есть по требованию пользователя (нажатие кнопки) из Firebird вытягиваются нужные данные и заносятся в Terrasoft
Если это возможно, то у меня возникает вопрос, как соединение через ADOConnection подвязать на кнопку

ADOConnection -> ADODataset. На нажатие кнопки брать экземпляр данного датасета, открывать его, брать из него данные и делать с ними все что угодно:)

ADOConnection -> ADODataset. На нажатие кнопки брать экземпляр данного датасета, открывать его, брать из него данные и делать с ними все что угодно:)

Пытаюсь подключить тестовую базу Firebird.
В ADOConnection ввела строку подключения:
Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey;DbName=D:\TEST\testdb.fdb
При проверке подключения выдает ошибку
"Не выполнена проверка подключения из-за ошибки при инициализации поставщика. [ODBC Firebird Driver] unavailable database"
Подскажите, пожалуйста, как правильно подключиться

база локально на этой же машине по пути D:\TEST\testdb.fdb? Firebird сервер на этой же машине?

да, это тестовый вариант, поэтому все находится локально

пока приходит в голову проверить работает ли firebird сервер вообще (версия?), попробовать получить доступ к этой же локальной базе с помощью например IBExpert
+ там еще точка с запятой в конце строки должна бы быть

локальная версия БД действительно была повреждена. Попробовала подключиться к БД на сервере, получилось!
Спасибо за помощь!

Еще один вопрос. При проверке подключение ADOConnection идет подтверждение, все нормально. А в ADODataset, я указала как соединение ADOConnection и пытаюсь отобразить все поля, но выдается ошибка о том ,что логин пароль базы данных Firebird указаны неверно.

Пришлите скриншоты настроеных ADOConnection и ADODataset

Высылаю скриншоты подключений ADOConnection и ADODataset. Проверка подключения проходит нормально, но добавление полей не происходит. Ошибка возникает когда я пытаюсь в Data Field добавить все поля

Попробуйте следующее:
Настройте имя источника данных [Панель управления]->[Администрирование]->[Источники данных (ODBC)]
В параметрах подключения используйте [Использовать имя источника данных]

На присланных Вами скриншотах плохо видны настройки. Пришлите сервисы используемые Вами с настройками ADO и реализации.

Здравствуйте,
В строке подключения ADOConnection допишите, пожалуйста "localhost:":
Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey;DbName=localhost:D:\TEST\testdb.fdb

Решение в теме http://www.community.terrasoft.ru/forum/topic/6843

Яворский Алексей
Эксперт 3-й линии поддержки

Показать все комментарии