Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
ВнизВзаимодействие программ через хранимую процедуру Найти похожие ветки
← →
_kostet (2005-12-04 21:28) [0]Доброго всем времени суток! Сталкнулся с такой проблемой: есть две программы (касса и склад) они разрабатывались одельно друг от друга. При продаже в кассе, со склада должен списываться товар. Написал хранимую процедуру, к-рая принимает некие параметры от кассы, производит выборку со склада и далее передает их нс склад. Дальнейшие действия чрезвычайно сложны для описания их в хранимой процедуре, поэтому на складе написал ф-цию, срабатывающую на afterOpen события ADOStoredProc. Для тестирования всего этого было достаточно, но при передаче параметров из кассы склад не срабатывает. Подскажите пожалуйста, как сделать так чтобы при срабатывании хранимой процедуры на сервере, срабатывала складская функция
← →
Fay © (2005-12-04 22:31) [1]> срабатывала складская функция
На клиенте?
← →
_kostet (2005-12-05 09:02) [2]Ещё раз объясню идею: есть касса (клиент1), есть склад (клиент2), есть хранимая процедура как промежуточное звено между клиентом1 и клиентом2 (процедура1), есть функция (функция2) в клиенте2 обрабатывающая результат возвращённый процедурой1. Для теста из клиента2 идёт тестовое обращение к процедуре1, процедура1 возвращает результат в клиент2 и функция2 - срабатывает. В реале этот запрос должен делать клиент1. Приэтом процедура1 - работает нормально, но функция2 - не срабатывает. Есть подозрение, что дйествия, настроенные на событие ADOStoredproc.AfterOpen (именно на это событие повешен вызов функции2), срабытывают только при вызове из родительской программы2. Вот вопрос и заключается в том, как заставить функцию2 срабатывать при возвращении результата от процедуры1, при вызаве процедуры1 из клиента1.
← →
Nikolay M. © (2005-12-05 09:59) [3]
> Есть подозрение, что дйествия, настроенные на событие ADOStoredproc.
> AfterOpen (именно на это событие повешен вызов функции2),
> срабытывают только при вызове из родительской программы2.
Просто ужас на крыльях ночи...
А что в твоем понимании означает "родительская программа"? И зачем нужны какие-то "тесты" из клиента2, если предполагается, что ХП будет вызываться только из клиента1?
Еще вопрос, чисто из любопытства, каким образом ХП выполняет роль "промежуточного звена" между двумя клиентскими программами?
← →
Fay © (2005-12-05 12:02) [4]2 _kostet (05.12.05 09:02) [2]
НИКАК
← →
ANB © (2005-12-05 12:34) [5]
> _kostet (04.12.05 21:28)
Если ты из клиента 1 вызваешь хранимку, то клиент 2 об этом никак не узнает. Можно сделать циклический опрос какой нибудь сигнальной таблицы, но это очень нехороший подход и грузит сервер.
Выход - зашить всю логику в хранимку и не парится. В T-SQL можно реализовать все, что можно сделать на клиенте.
← →
MU © (2005-12-06 14:44) [6]или по TCP/IP сообщения посылать/принимать
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c