![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL-запрос из разных БД [D7, IB6.x]
belkova © (2004-01-06 09:44:00)
Уважаемые мастера Delphi! Подскажите, пожалуйста,
как работать сразу с двумя БД. Требуется сделать запрос из 2 таблиц, которые находятся в разных БД. заранее боагодарна.
gyGYgy (2004-01-06 17:25:00) [1]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1073395247&n=1
Vlad (2004-01-06 17:00:00) [2]
http://www.ibase.ru/devinfo/ibfaq.htm#1.34
keymaster (2004-01-06 16:52:00) [3]
А если на машине нет BDE?
Как тогда достать данные из двух gdb одним запросом?
Не пользуясь алиасами...
YuRock (2004-01-06 13:59:00) [4]
Круто! Заработало! Просто не надо было указывать (надо было убрать :)) указание бызы данных у Query.
Спасибо Johnmen"у.
YuRock (2004-01-06 13:36:00) [5]
Да я и так и так уже пробовал. Непонятно...
Johnmen (2004-01-06 11:25:00) [6]
>YuRock © (06.01.04 11:09)
Ну не знаю я, что у тебя не так...
Попробуй по-простому. Просто в дизайне. Кидаешь TQuery. Прописываешь запрос. Выставляешь Active в True.
Все должно работать ! В зависимости от типов БД, может спросит имя/пароль...
YuRock (2004-01-06 11:09:00) [7]
> Johnmen © [17]
Ну скажите, пожалуйста, что я не так делаю?! Интересно, же.
belkova (2004-01-06 11:07:00) [8]
Спасибо.
Danilka (2004-01-06 11:03:00) [9]
[14] belkova (06.01.04 10:26)
Поподробнее, для этого книги всякие есть, или хотя-бы статьи.
Заносить данные спокойно можно сразу в базу.
Но вот видны они остальным клиентам будут только после удачного завершении транзакции (COMMIT), хочется тебе того или нет. :))
Если-же ты завершишь транзакцию откатом (ROLLBACK), то про все изменения данных, которые ты делала в базе, никто больше никогда и не узнает. :))
Если ты сама не стартовала транзакцию, то все изменения в базе будут проходить в рамках неявной транзакции, в любом случае, пока она не завершится по commit, данные не будут доступны другим.
YuRock (2004-01-06 11:01:00) [10]
...
Я пробовал с помощью TQuery. А она же жестко привязывается к базе (или к алиасу - одному!). Может, надо как-то по другому?
YuRock (2004-01-06 10:59:00) [11]
Ну я пробовал так. Не работает: Dynamic SQL Error in line... Unknown symbol ":MyBase:Table1"
(Алиас MyBase есть (база открыта), таблица Table1 тоже есть)
Johnmen (2004-01-06 10:59:00) [12]
>belkova (06.01.04 10:26) [14]
>Если можно поподробнее.
Хм... Изложить содержимое какой-либо книги по этой теме ?
:)))
Johnmen (2004-01-06 10:55:00) [13]
>YuRock ©
Псевдонимы - это бде-шные псевдонимы. Они же алиасы.
YuRock (2004-01-06 10:42:00) [14]
...
Это не "DatabaseName" в Object Inspector ?
YuRock (2004-01-06 10:34:00) [15]
> Johnmen © (06.01.04 10:19) [11]
Спасибо, конечно. Но что такое псевдонимы?
belkova (2004-01-06 10:26:00) [16]
Если можно поподробнее.
Johnmen (2004-01-06 10:24:00) [17]
По-моему, ты недостаточно представляешь принципы работы с БД. И такие вещи, как кеширование, транзакционный механизм и т.п.
..................
belkova (2004-01-06 10:22:00) [18]
Требуется оформить заказ, до того как эти данные будут сохранены требуется куда-то их заносить. Для этого и нужны локальные таблицы.
Johnmen (2004-01-06 10:19:00) [19]
>belkova (06.01.04 10:09)
Чем вызвана необходимостьсоздания неких локальных табл. ?
Вот главный вопрос...
>YuRock © (06.01.04 10:10)
Пожалуйста.
SELECT U.*
FROM ":MONITORS:NLS" N, ":DWH:OLAP_UPE" U
WHERE U.SC_CODE = N.COD_SCENARIO
ORDER BY U.SC_CODE
псевдонимы MONITORS и DWH
belkova (2004-01-06 10:17:00) [20]
А насколько это сильно затормозит работу?