Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обращение к таблице из другой (не текущей) БД в IB и FB. [D7, IB6.x, FB]


Malign ©   (2006-01-22 13:25:00) 

Добрый день, как организовать запрос, позволяющий получить
данные из базы  в среде FireBird (Interbase)?.

Есть ли аналог в IB запроса MSSQL вида:
select OtherBase..table2.* from table1, OtherBase..table2
where (OtherBase..table2.id=table1.id)

????
Если нет, каким образом мне придется это делать?

Заранее благодарен.


Malign   (2006-01-22 22:09:00) [1]


> откажись или быть тебе виноватым заранее.

Поздно, да и платят за это, а в перпективе еще и пределка светит:),
кроме того разминка неплохая (правда чересчур).


sniknik   (2006-01-22 21:40:00) [2]

> Структура БД на фоксе была перенесена на ФБ практически без изменений
оччень опрометчиво... то что было хорошо для файл серверных баз для клиент серверных зачастую гибельно.

> но кодить теперь  приходится довольно криво из-за этого "эффективного" наследства.
откажись или быть тебе виноватым заранее.


Malign   (2006-01-22 21:24:00) [3]


> как сочетается:
> "функционируют на Фоксе" + "современную оболочку" + " FireBird
> (Interbase)"

ну про оболочку понятно.
Структура БД на фоксе была перенесена на ФБ практически без изменений
они еще на это время прилично убили (чтобы в последующем обеспечить перевод на новую версию), вообщем всю подноготную там объяснять долго, но кодить теперь  приходится довольно криво из-за этого "эффективного" наследства.


Desdechado   (2006-01-22 21:06:00) [4]

как сочетается:
"функционируют на Фоксе" + "современную оболочку" + " FireBird (Interbase)"


Malign   (2006-01-22 20:27:00) [5]


> зачем 3 БД, если можно их соединить в одну на одном сервере

Так реализована структура БД у заказчика, на ее основе функционируют
на Фоксе много крупных объектов (в т.ч. и зарубежных).
Я лишь создаю новую современную оболочку под это безобразие и на мои
предложения по оптимизации оного мне говорят "мы имеет устоявшуюся и эффективную(!) структуру БД", и усе.

По поводу "времянки", иногда бывает удобно создать сенсовую таблю для решения локальных задач (иногда приходилось), можно расматривать ее как вспомогательный инстумент (хотя стараюсь их избегать).

Всем спасибо, тему можно закрывать,
реализовал способом, которым
надеялся не пользоваться (создал 3 конекшена:-( и подтягиваю поля
динамически)


Desdechado   (2006-01-22 18:58:00) [6]

зачем 3 БД, если можно их соединить в одну на одном сервере - тогда и контроль целостности не надо геморроить

если они на разных серверах, то FB не предназначен для "слизывания" данных с других серверов в штатной работе, у него другая производственная ниша
в этом случае только обработки на клиенте

понятие "временная таблица" в большинстве случаев бессмысленна и родилась от попыток MS создать именованные пространства для хранения данных внутри сеанса. Оракл тоже считает это ересью (это к вопросу о масштабах).
в FB это можно сделать обычными таблицами, добавив одно поле "юзер" и рязделять по ним - но это для заранее известных фиксированных структур
для динамических "временных таблиц" гораздо удобнее FOR SELECT внутри PSQL


Malign   (2006-01-22 15:54:00) [7]


> (можно только через БДЕ-гетерогенные запросы)
> но это редко является необходимостью,

БДЕ-гетерогенные, к сожалению не подходят, по условию проекта
он дожен быть на dbExpress(хотя может тут я что то не понимаю).

А по поводу "редко необходимо", боюсь у моего работодателя есть другое мнение, а точнее у него идет постоянная работа с 3-я базами одновременно и все записи в них пересекаются и могут быть отредактированны и т.д.

Я пытался предложить им MSSQL и АДО, но ........ кто платит тот и прав, хотя и будут расплачиваться быстродействием потом.    


> поэтому по поводу "адекватная СУБД" я бы поставил вопрос по-другому

всетаки боюсь в данном случае именно так:(

PS вроде с временными (сеансовыми ) таблицами тоже проблемма в FB? :-(
(простите за глупые вопросы, просто до этого писал под MS 5 лет, а там чуть(!) пошире возможности)


Desdechado   (2006-01-22 15:37:00) [8]

в одном запросе нельзя обратиться к 2 базам FB
(можно только через БДЕ-гетерогенные запросы)
но это редко является необходимостью, поэтому по поводу "адекватная СУБД" я бы поставил вопрос по-другому


Malign   (2006-01-22 14:06:00) [9]


> Выбрать из одной таблицы, и потом для каждой найденной записи
> выбирать из другой. А оптимальный вариант - не делать таких
> выборок


Выбрать из одной во временную таблицу?  мда уж не самый красивый вариант.. (просто надеялся, что IB всетаки более адекватная СУБД
а я просто не понимаю как сделать:()
А работать с разными базами мне придется.


DrPass   (2006-01-22 13:49:00) [10]


> Есть ли аналог в IB запроса MSSQL вида

Увы, нет
> каким образом мне придется это делать?


Выбрать из одной таблицы, и потом для каждой найденной записи выбирать из другой. А оптимальный вариант - не делать таких выборок


Johnmen   (2006-01-22 13:35:00) [11]

Что за "среда FireBird (Interbase)"? Я про такую и не слышал...:)


Malign   (2006-01-22 13:27:00) [12]

пардон,
Добрый день, как организовать запрос, позволяющий получить
данные из базы не являющейся текущейв среде FireBird (Interbase)?.


Наверх

Титульная страница Поиск, карта сайта Написать письмо