powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Данные из двух баз данных
20 сообщений из 20, страница 1 из 1
Данные из двух баз данных
    #32207843
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос следующий:
Есть база данных base1
Есть база данных base2
В первой таблица table1, во второй table2

Вопрос заключается в следующем:
необходимо зайти в первую базу данныйх, сделать выборку по определенному полю, затем зайти во вторую и сделать выборку из второй таблицы по данным, полученным из первой.
т.е. что то вроде
select * from table2 where fieild2 in(select field1 from table1)

может можно обращаться как-то через base1.sheme1.table1.... или еще как.

Заранее благодарен за ответы.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32208021
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а чем твой вариант не подходит? Как то в другом виде их надо получить?
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32208038
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подожди, не обратил внимания, что из двух баз надо данные брать. Щас подумаю скажу, а может нет...:)
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209256
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может даже как-то можно view одной таблицы( с первой базы данных) поместить в другую базу данных.... Посредством запросов к базе данны.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209307
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что я помню на данный момент по этой теме:

1. Простыми средствами сделать гетерогенный запрос нельзя. Поэтому, если вы разработчик, держите все данные в одной базе. Для распределенной базы пользуйтесь репликацией.

2. В более-менее новых версиях DB2 есть-таки некие средства - см. документацию по ключевым словам "federated databases" (но я не назвал бы их простыми). Это я знаю точно, но не уверен в том, нужен ли Relation Connect (он точно нужен для связи с Oracle и т.п., а вот для другой DB2...).

3. Почитайте также документацию про OLE-функции, возвращающие таблицы. Быть может, вам подойдет именно этот вариант.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209340
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Простыми средствами сделать гетерогенный запрос нельзя. Поэтому, если вы разработчик, держите все данные в одной базе. Для распределенной базы пользуйтесь репликацией.
* Дело в том, что база была запроектирована до того, как пришел сюда работать.

2. В более-менее новых версиях DB2 есть-таки некие средства - см. документацию по ключевым словам "federated databases" (но я не назвал бы их простыми). Это я знаю точно, но не уверен в том, нужен ли Relation Connect (он точно нужен для связи с Oracle и т.п., а вот для другой DB2...).
3. Почитайте также документацию про OLE-функции, возвращающие таблицы. Быть может, вам подойдет именно этот вариант.

* Обязательно посмотрю. Благодарю Вас за ответ.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209659
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ублюдочный вариант - работает только под BDE:
Создаешь в BDE новую запись на foxpro!!! Простое foxpro не Visual.
Открываешь все три базы. Текущую делаешь foxpro и выполняешь select типа:
select * from ":DBPO:t_dept" a, ":DBREPORT:t_dept" b where a.id = b.id
DBPO и DBREPORT - DB2'шные базы. Синтаксис select - foxpro'шный.
Вот такой изврат.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209663
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем забыл - схемы указывать нельзя!
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209695
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да еще, все что внутри апострофов - регистрозависимо. В качестве схем подставится LOGIN из строки коннекции.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32209711
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Federated server
3) Скопируй к себе всю таблицу. при этом воспользуйся репликацией.
2) Подконнекться к первой базе, подконнекться ко второй базе, set connection первая база, хапни всю выборку в программу (что у тебя там? может, пара строчек...) set connection вторая база, формируй statement. что-то делаешь, коммит...
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32210348
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Golsa: да, борландовский BDE задуман так, что умеет делать гетерогенные запросы (на своем внутреннем ублюдочном SQL, хуже которого просто ничего нет; даже у MS Access и MySQL диалект лучше), в чем нетрудно убедиться, например, почитав документацию, идущую с Delphi, но причем здесь Foxpro? Насколько я помню, достаточно указать нужные свойства в источниках данных ("не передавать SQL на сервер, а выполнять самому").

Если на то пошло, то лучше (чем работать с BDE) взять MS Access, присоединить таблицы (а то и просто скопировать себе данные) и с этим работать.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32210410
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Victor Metelica
В FoxPro нет сервера. BDE сам иммитирует работу selecta примерно так как описано в пункте 2 последнего сообщения NewYear. Еще раз повторюсь - это изврат.

В DB2 WorkGroup Edition нет возможности без дополнительных DB2'шных прилад делать выборку одним select из разных баз, а также организовать репликацию.
Так что решение - через копирование (import-export или собственным клиентом) таблицы вполне приемлемо. Через MS Access - тоже интересный вариант. Пусть ^ozzy^ выбирает
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32210634
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за подробные ответы. Сделаю через import/export и поменяю аплоадер для работы с новой базой.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32210862
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В DB2 WorkGroup Edition нет возможности без дополнительных DB2'шных прилад делать выборку одним select из разных баз, а также организовать репликацию.

гы. поставь EE.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32210968
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxPro здесь, тем не менее, вообще не причем.

Какие проблемы у WE с репликацией? Я давно ею не интересовался, но, по крайней мере, вижу, что у 8.1 утилиты (их имя SQLLIB\BIN\asn*.exe) на месте.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32211011
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гы. значит, вообще счастье. я не использую WE.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32211017
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы так и сделал, что настроил репликацию.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32211079
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Между прочим, и federated на 8.1 workgroup edition работают. Сейчас проверил.
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32211096
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело было так:

DB2 8.1 WSE
машина называется MOUSE
пользователь vvm
две базы данных: SAMPLE и DBX.


1. В параметрах СУБД сказал Federated=Да и затем перегрузил СУБД.

2. Подключился к SAMPLE

3. Создал wrapper.
CREATE WRAPPER DRDA OPTIONS (DB2_FENCED 'N')

4. "Создал" сервер (обозвал его RAT).
CREATE SERVER RAT
TYPE DB2/UDB
VERSION 8.1
WRAPPER DRDA
AUTHORIZATION vvm
PASSWORD some-pwd
OPTIONS ( NODE 'MOUSE', DBNAME 'DBX', FOLD_ID 'U', FOLD_PW 'N', COLLATING_SEQUENCE 'Y' )

5. Создал отображение пользователей
CREATE USER MAPPING FOR vvm
SERVER RAT
OPTIONS (REMOTE_AUTHID 'VVM', REMOTE_PASSWORD 'some-pwd')

6. Создал в базе данных DBX табличку:
CREATE TABLE XXX.YYY ( NNN CHARACTER (10) ) @

7. Создал в базе SAMPLE "прозвище":
CREATE NICKNAME QQQ FOR RAT.XXX.YYY


и теперь
8. SELECT * FROM QQQ
...
Рейтинг: 0 / 0
Данные из двух баз данных
    #32211112
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да ну его нахрен, сдался этот распределенный запрос. представляешь, залочит сразу две базы. а что если канал между ними плохой?
хотя, я не знаю прикладной области. при репликации, конечно, будет кое-какая задержка, но я не думаю, что она так уж актуальна, раз ^ozzy^ решил сделать копию.
к тому же, релицировать можно не всю таблицу, а только выборку из нее, т.е. только те данные, которые реально нужны. это можно достичь, если написать view и реплицировать его. да и вообще тут простор для всяческих извращений
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Данные из двух баз данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]