Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Обращение к разным БД в одном запросе   Найти похожие ветки 

 
olevacho_ ©   (2007-10-27 09:59) [0]

Как можно в одном СКЛ запросе обратится к разным БД. Например вставить записи в таблицу из одной БД полученные из набора данных из таблицы другой базы? Это нужно реализовать на Firebird.


 
atruhin ©   (2007-10-27 12:42) [1]

Никак. Возможно будет в FB 3.0 т.е. примерно через годик.


 
PEAKTOP ©   (2007-10-27 14:54) [2]

> Никак. Возможно будет в FB 3.0 т.е. примерно через годик.

Ты не настоящий проктолог ! В селективном запросе - действительно никак. Но достучаться  до другой базы из хранимой процедуры можно через UDF.


 
atruhin ©   (2007-10-27 16:21) [3]

> [2] PEAKTOP ©   (27.10.07 14:54)
> Ты не настоящий проктолог ! В селективном запросе - действительно
> никак. Но достучаться  до другой базы из хранимой процедуры
> можно через UDF.

:))). Только еще кэш соединений с БД организовать в модуле UDF, учесть отличие супера от классика и т.д. :)))

Кстати в некоторых случаях можно использовать external table, т.е. с клиента на одном сервере, сформировал набор данных,
потом запросом с другого закачал.


 
PEAKTOP ©   (2007-10-27 17:53) [4]

> Только еще кэш соединений с БД организовать в модуле UDF,  учесть отличие супера от классика и т.д. :)))


Извините, батенька, но вопрос звучал как "можно ли организовать", а не "можно ли организовать, чтобы не через задницу" :))


 
olevacho_ ©   (2007-10-27 19:37) [5]


> Никак. Возможно будет в FB 3.0 т.е. примерно через годик.

А в Interbase можно?


 
PEAKTOP ©   (2007-10-28 02:11) [6]

Напомню Вам вопрос:

> Как можно в одном СКЛ запросе обратится к разным БД. Например
> вставить записи в таблицу из одной БД полученные из набора
> данных из таблицы другой базы? Это нужно реализовать на
> Firebird.
>

Ответы с 1 по 4 можете считать стебом потому, что действительно никак.

То, что Вам требуется, называется задачей репликации (синхронизации данных двух БД), потребность в решении которой возникает, когда либо РСУБД (РаспределеннаяСУБД) и данные из филиалов сливаются в ЦентральнуюБазу, либо репликация обработанных данных ЦентральнойБазы в копию, которая находится у провайдера и к ней идет обращение из скриптов сайта.

Допустим, что вариант РСУБД. Структура базы по всем филиалам предприятия постоянная, но есть справочники (например "ТОВАРЫ" и "КЛИЕНТЫ"), которые пользователи на филиалах ведут самостоятельно и ЦентральнаяБаза в принципе не может знать, что туда вколотят.
1) Создается генератор сессии CREATE GENERATOR GEN_SESSION_ID.
2) Создается в ЦентральнойБазе таблица-клон подгружаемого (только список доменов без ограничений ссылочной целостности) справочника плюс один домен - SESSION_ID
3) В момент старта клиентское ПО получает идентификатор сессии.
----------------------------------------------------------
Подгрузка:
4) Все данные таблицы из подгружаемой базы сливаются в таблицу-клон ЦентральнойБазы с идентификатором сессии.
5) Вызывается хранимая процедура, которой передается идентификатор сессии, и которая определят вставлять/не вставлять данные в основной справочник (тут уже Ваша личная бизнес-логика). Эта же процедура может вести еще одну таблицу, которая хранит значения "погружен" или "не подгружен" элемент справочника ранее, и если подгружен, то с какого филиала.
6) После выполнения хранимая процедура чистит таблицу-клон от данных с нужным идентификатором сессии.

Все изложенное выше - как вариант решения задачи, который не претендует на роль истины в последней инстанции.


 
Sergey13 ©   (2007-10-29 08:39) [7]

> [0] olevacho_ ©   (27.10.07 09:59)

БДЕ допускает гетерогенные запросы.


 
atruhin ©   (2007-10-29 10:55) [8]


> БДЕ допускает гетерогенные запросы.

Но делает то это на клиенте. На клиенте много вариантов.


 
Sergey13 ©   (2007-10-29 11:00) [9]

> [1] atruhin ©   (27.10.07 12:42)
> Никак.

> [8] atruhin ©   (29.10.07 10:55)
> На клиенте много вариантов.

Как понимать тебя? 8-)



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1202164442
bara-igor
2008-02-05 01:34
2008.03.16
delphi 10 lite


8-1176870118
Sholah_Weras
2007-04-18 08:21
2008.03.16
Работа с DDS в DirectX.


8-1177253281
Elliner
2007-04-22 18:48
2008.03.16
Передача потокового видео с канвы формы


2-1203418404
webpauk
2008-02-19 13:53
2008.03.16
Double<>Integer


8-1177042797
Dmitriy_O.
2007-04-20 08:19
2008.03.16
Как сделать "вспышку" тоесть чтобы картинка засветилась яркими цв