Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
8-1124966742
Irinka
2005-08-25 14:45
2006.02.05
Как проигрывать звуковые файлы


15-1137072733
ArtemESC
2006-01-12 16:32
2006.02.05
Алгоритм Маркова...


15-1136568903
Джо
2006-01-06 20:35
2006.02.05
MS-DOS Executive, файловый менеджер времен Windows 1.0


4-1132726760
Dico
2005-11-23 09:19
2006.02.05
Internet Options


2-1137268104
Bopros
2006-01-14 22:48
2006.02.05
Обработка исключительных ситуаций без SysUtils





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский