Страница 1 из 1

Получить данные из другой базы данных

Добавлено: 08 май 2012, 22:50
vso
всем привет!

есть такая необходимость импортировать данные в мою БД из другой в частности MS SQL.

Почему это надо, есть БД (она на MS SQL) организации где хранятся исходные данные для нашего отдела. Сам делать не очень хочу на MS SQL, да и уже начал на FireBird. К тому же в основную БД меня никто не пусти наращивать свой функционал. Поэтому родилась идея перетащить исходные данные в свою БД, а там уже наращивать их нашими, отделовскими, данными. Технически я хочу сделать в своем приложении окно где можно будет сравнивать данные из нашей БД с общей и отслеживать изменение и появление новых данных в общей БД. К тому же дать возможность изменять данные прямо в этом окне попадающие данные как мне удобно чтобы они хранились.

Отсюда появилась идея вытащить запросом данные из общей БД (она на MS SQL) , и связав их по LEFT OUTER с моими данными выдать их в грид, для сравнения пользователя.

Вопрос, как-нибудь можно достать данные из другой БД (не FireBird) в FireBird???

Re: Получить данные из другой базы данных

Добавлено: 08 май 2012, 23:24
kdv
из ФБ - никак. Из МС СКЛ - через linked server (ole db).
Либо через древний BDE, он умеет делать гетерогенные запросы.

Re: Получить данные из другой базы данных

Добавлено: 09 май 2012, 11:46
vso
то есть такой вопрос можно решить только на стороне приложения? правильно я понял?

или

попробовать подлинковать FireBird к MS SQL, там связать нужным мне образом и это уже тащить в прогу???

Re: Получить данные из другой базы данных

Добавлено: 10 май 2012, 16:24
kdv
да, правильно поняли, или А, или Б, других вариантов нет.

Re: Получить данные из другой базы данных

Добавлено: 11 май 2012, 17:07
vso
Почитал, еще про FireBird, нашел такую вещь как временные таблицы во внешнем файле, есть ли опыт, возможно в MS SQL сделать экспорт формата понятного для таких таблиц в FireBird, может это тоже один из вариантов решения? или он плох?

Re: Получить данные из другой базы данных

Добавлено: 13 май 2012, 02:28
kdv
в ФБ есть два типа "внешних таблиц".
1. External table. жесткий "текстовый" формат, описан в документации по InterBase 6.0, datadef.pdf, существует очень давно.
2. temporary table, существует с FB 2.1, это внешние таблицы в собственном формате ФБ.

ни один из указанных двух форматов не будет понятен MS SQL или другому серверу. 1-ый формат может быть понятен любой программе импорта-экспорта, см. datadef.pdf. 2-ой формат исключительно внутренний, никогда не будет понятен никакому внешнему приложению кроме ФБ.

Пора бы уже вам понять, что никакой сервер не предоставляет данные в совместимом для других серверов формате. Ни MS SQL, ни ФБ, ни Оракл, и т.п. Максимум что есть у этих серверов - текстовый или спец-формат файлов для импорта-экспорта для абстрактных ПРИЛОЖЕНИЙ (а не серверов).