Вниз
Скачать: CL | DM;

ODAC и COM   Найти похожие ветки 

← →
Note   (2006-12-22 16:29) [0]

Добрый день,
подскажите, как решить проблему. Имеется группа приложений, которые должны работать с БД (Oracle). Необходимо, чтобы соединение с БД создавалось в одном из них, и все остальные приложения использовали именно его для выполнения запросов к БД. Вопрос: каким образом (если вообще можно) передать ODAC connection (класс TOraSession) между приложениями, используя COM?


← →
Sergey Masloff   (2006-12-23 00:42) [1]

Это у DOA такая фича была. В ODAC если и можно то недокументировано и с граблями.


← →
Ломброзо ©   (2006-12-23 01:37) [2]

Не надо передавать Connection. Надо передавать рекордсеты. Они маршаллируемые.


← →
Note   (2006-12-23 16:11) [3]

2 Sergey Masloff  
Жаль, а так рассчитывал… =(.  У компоненты OraSession  есть метод AssignConnect (Source: TOraSession), вот если бы вместо Source были указаны конктеные параметры нужные наследования подключения, а не просто класс, их можно было бы их упаковать  на сервере и передать клиенту, чтобы он юзал тот же самый коннект. Исходников нет, чтобы посмотреть.

2 Ломброзо ©
Что даёт передача рекордсетов? Я понимаю, что краткость - сестра таланта, но будьте добры чуть подробнее ;)


← →
Ломброзо ©   (2006-12-23 21:15) [4]

Догадаться несложно - это в итоге нам дает трёхзвенку.
В итоге требование "соединение в одном из них" - превращается в сервер приложений,  а "все остальные приложения" превращаются в клиентов сервера приложений. Таким образом, только сервер приложений непосредственно использует соединение с Oracle, выгружая результат запроса в "отсоеднённый" ADODB.Recordset (эта фича поддерживается, если мне не изменяет память, с версии MDAC 2.6) и маршалируя его клиенту по DCOM в виде пакета. Клиент делает в рекордсете изменения и маршаллирует его обратно серверу, который опять-таки открывает соединение с Oracle и производит пакетное (batch) обновление таблицы в соответствии с изменениями в каждой строке рекордсета, то бишь вставку-изменение-удаление записей.

В классическом ADO по такой модели работать тяжеловато, зато в ADO.NET идея отсоединенных наборов данных достигла апогея.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
2-1172582601
vigo_
2007-02-27 16:23
2007.03.18
Изменение данных файла


15-1171746781
Цукор5
2007-02-18 00:13
2007.03.18
мать(440BX) с винтом на 40G...


15-1171987658
Vendict
2007-02-20 19:07
2007.03.18
Проблемы с ICQ


3-1167132492
Руслан56
2006-12-26 14:28
2007.03.18
Как мою программу зделать установочной ???


15-1172095241
ProgRAMmer Dimonych
2007-02-22 01:00
2007.03.18
Извините за наглость, но




   Наверх