powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / 2 коннекта в одном ДВ (ПБ 9.0.3)
13 сообщений из 13, страница 1 из 1
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761046
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем дня!
Я конечно в этом сомневаюсь, но мало ли, вдруг возможно.
Имеем:
1) коннект - подключение к базе ASE через ОДБС
2) коннект - подключение к базе FOX через ОДБС
3) имеем ДВ
4) имеем запрос (для ДВ) в котором хочу использовать данные двух коннектов.
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761068
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761090
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousДоброго всем дня!
Я конечно в этом сомневаюсь, но мало ли, вдруг возможно.
Имеем:
1) коннект - подключение к базе ASE через ОДБС
2) коннект - подключение к базе FOX через ОДБС
3) имеем ДВ
4) имеем запрос (для ДВ) в котором хочу использовать данные двух коннектов.
Нельзя. Возможно можно через ASE подключить табличку FOX'овскую к серверу и извлекать из нее данные в том же запросе (я не особо знаю ASE).
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761097
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousДоброго всем дня!
Я конечно в этом сомневаюсь, но мало ли, вдруг возможно.
Имеем:
1) коннект - подключение к базе ASE через ОДБС
2) коннект - подключение к базе FOX через ОДБС
3) имеем ДВ
4) имеем запрос (для ДВ) в котором хочу использовать данные двух коннектов.
PowerBuilder Help RetrieveStart event (DataWindows)

...
Return value

Set the return code to affect the outcome of the event:

0 Continue processing
1 Do not perform the retrieval
2 Do not reset the rows and buffers before retrieving data

For information on setting the return code in a particular environment, see "About return values for DataWindow events".

Usage

A return code of 2 prevents previously retrieved data from being cleared, allowing the current retrieval process to append new rows to the old data.


Так что, что-нибудь типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//event RetrieveStart
Return  2 

//Ваш вызов
myDW.SettransObject (trASE)
myDW.Retrieve()
myDW.SettransObject (trFOX)
myDW.Retrieve()
Пробуйте
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761100
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, потом не забудьте рассказать, что получилось :-)
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761165
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99,
неполучилось, да и не могло получится потому что в запросе используются таблицы из разных баз
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35761442
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну почему же, можно сделать external dw и самому заполнять данные
Или же привести таблицы в базах к единому виду и тогда вариант PL99 будет работать
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35762404
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как предлагали делаешь копию таблицы из другой базы в паинтере делаешь эти два ДВ, чтобы все работало на одном коннекте для проверки. Но допустим в инишнике пишешь trASE = 'ASE', trFOX = 'FOX', это твои ODBC подключения и при запуске АПП или окна считываешь их. Т.е. меняешь их только после того как все ретриве работают в одном ODBC

transaction trASE, trFOX
trASE.DBMS = "ODBC"
trASE.dbparm = ProfileString(твой инишник, "ASE", "DBParm","")

trFOX.DBMS = "ODBC"
trFOX.dbparm = ProfileString(твой инишник, "FOX", "DBParm","")
далее как предлагал PL99
Код: plaintext
1.
2.
3.
4.
5.
//Ваш вызов
myDW.SettransObject (trASE)
myDW.Retrieve()
myDW.SettransObject (trFOX)
myDW.Retrieve()
Сам не пробовал. Авось, что и получится.
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35762406
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка
Код: plaintext
1.
2.
3.
4.
5.
//Ваш вызов
myDW_ASE.SettransObject (trASE)
myDW_ASE.Retrieve()
myDW_FOX.SettransObject (trFOX)
myDW_FOX.Retrieve()
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35762794
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
//Instance
transaction trASA, trACCESS
//Работаем с ASA
trasa = CREATE transaction
trasa.DBMS = "ODBC"
trasa.AutoCommit = False
trasa.DBParm = "ConnectString='DSN=ASA'"
Connect using trasa;
dw_asa.SettransObject (trasa)
dw_asa.Retrieve()

//Работаем с Access
traccess = CREATE transaction
traccess.DBMS = "ODBC"
traccess.AutoCommit = False
traccess.DBParm = "ConnectString='DSN=Access'"
Connect using traccess;
dw_access.SettransObject (traccess)
dw_access.Retrieve()

Дубликаты таблиц делать не надо просто переключай Active Connection в Database Profile на базу из которой хочешь делать DW.
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35762796
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxATC,

И что Вы нам тут продемонстрировали?
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35762812
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркmaxATC,

И что Вы нам тут продемонстрировали?

Да,Да,Да. Не внимательно читал, лопухнулся
...
Рейтинг: 0 / 0
2 коннекта в одном ДВ (ПБ 9.0.3)
    #35763502
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousPL99,
неполучилось, да и не могло получится потому что в запросе используются таблицы из разных базКаков вопрос, таков и ответ.Imperous4) имеем запрос (для ДВ) в котором хочу использовать данные двух коннектов. Вполне возможно получить в одно DW данные из разных источников.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / 2 коннекта в одном ДВ (ПБ 9.0.3)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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