Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
2-1203246209
arreke
2008-02-17 14:03
2008.03.16
Удалить самого себя 2


15-1202156082
_Shuler_
2008-02-04 23:14
2008.03.16
MS Word


9-1167997988
Samarik
2007-01-05 14:53
2008.03.16
Как сделать в игре притяжение к земле в Delphi?


2-1203197556
<LeXa>
2008-02-17 00:32
2008.03.16
Как установить нач. папку в Opendialog для не первого его запуска


15-1202440284
Slider007
2008-02-08 06:11
2008.03.16
С днем рождения ! 8 февраля 2008 пятница





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский