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

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
vso
Сообщения: 5
Зарегистрирован: 19 апр 2012, 13:17

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

Сообщение vso » 08 май 2012, 22:50

всем привет!

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

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

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

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 08 май 2012, 23:24

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

vso
Сообщения: 5
Зарегистрирован: 19 апр 2012, 13:17

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

Сообщение vso » 09 май 2012, 11:46

то есть такой вопрос можно решить только на стороне приложения? правильно я понял?

или

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 10 май 2012, 16:24

да, правильно поняли, или А, или Б, других вариантов нет.

vso
Сообщения: 5
Зарегистрирован: 19 апр 2012, 13:17

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

Сообщение vso » 11 май 2012, 17:07

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 13 май 2012, 02:28

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

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

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

Ответить