Главная страница
    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.013 c
2-1137415286
Змей
2006-01-16 15:41
2006.02.05
Массив


2-1137687423
Kostik
2006-01-19 19:17
2006.02.05
Как в Ричедит узнать и перейти на выделеную в нем строку?


5-1124081962
Michael5
2005-08-15 08:59
2006.02.05
Почему не получается переопределить свойство DataSource у потомка


3-1133720931
_kostet
2005-12-04 21:28
2006.02.05
Взаимодействие программ через хранимую процедуру


4-1132845187
dracula
2005-11-24 18:13
2006.02.05
Количество байт в одном секторе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский