Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.14;
Скачать: CL | DM;

Вниз

SQL Server   Найти похожие ветки 

 
Alex_Sudakov ©   (2002-01-19 13:29) [0]

Господа, подскажите, как из SQL сервера послать виндовое (а"ля WM_...) сообщение всем подключенным клиентам? Очень не хочется писать свой СОМ сервер...


 
Иван Шихалев ©   (2002-01-19 21:46) [1]

Никак


 
GorA ©   (2002-01-21 03:14) [2]

зачем так категорично?

ведь есть возможность в хранимых процедурах использовать внешние модули. в эту сторону и копай.

удачи.


 
KSergey ©   (2002-01-21 08:40) [3]

>ведь есть возможность в хранимых процедурах использовать внешние модули. в эту сторону и копай.

И толку?
Но во-первых: что за SQL-сервер?
Если иметь в виду MS SQL, то, конечно, внешние модули там есть, но они-то ведь на сервере работают! Получается, чтобы что-либо из них послать клиенту, нужно таки какой-то сетевой обмен городить. Т.е. никакими WM_ тут не отделаешься. Хотя, конечно, в принципе как вариант - это пройдет.
Рискну предложить другой вариант: запустить поток (ну или еще как-нибудь), в котором периодически дергать какой-нибудь флаг на сервере (таблицу или еще что-то), в котором, как серверу понадобиться известить клиентов, взведется какое-либо свойство.


 
Юрий Жуков ©   (2002-01-21 09:14) [4]

Я думаю прийдется изменить автору совй вопрос на "Как послать сообщение из SQL server клиентам?"

IB см IBEvents
ORACLE - см Alert and Pipe
MSSQL - тут недавно пробегал ответ с использованием DLL
...


 
Iluxa   (2002-01-21 11:06) [5]

(Про MSSQL) Напрямую никак, но можно написать COM-сервер, посылающий броадкастные сообщения по сети (напр. по UDP), зарегистрировать его на тачке с MSSQL (regsvr32 server_name.dll) и вызывать его методы из MS SQL (семейство системных хранимых процедур sp_OA...). На клиентских местах устанавливаешь простенький сервер UDP (предварительно написанный тобой же :), транслирующий полученные сообщения в сообщения мастдая (протокол сам разрабоитаешь). У меня подобная дребедень (за исключением вышеупомянутого транслятора - нам не надо юзать виндовые сообщения) работает уже давно и оповещает тетенек о поступивших заказах с Интренет-магазина ( http://www.pregrad.net/). Благодаря сей возможности MSSQL можно практически неограниченно расширять его функциональность. У нас туда много всего напихано. Если что пиши - вышлю исходники.


 
Praco ©   (2002-01-21 11:23) [6]

2Iluxa А зечем COM? Можно внешнюю хранимую процедуру.


 
Snake1967   (2002-01-21 11:31) [7]

Мне пришлось сделать в своей системе 2 варианта:
1) с помощью упомянутого выше вызова оформить стандартное сетевое оповещение типа:
select @scmd="net send Natalie Process finished!"
exec master..xp_cmdshell @scmd, NO_OUTPUT
Понятно, что такое сообщение (в буквальном смысле) можно только
прочитать.
2) для запуска с SQL-сервером других модулей и приложений написал:
- CORBA-объект (работает на другом компе в сети), который запускает объект с локального хоста или что-либо делает сам.
- CORBA-клиент к этому объекту, который вызывается SQL-сервером. Механизм вызова - тоже через exec master..xp_cmdshell , только вызывается CORBA-клиент.
Эта парочка не только передает сообщения в другие проги, но и позволяет распределенно исполнить бизнес-логику с помощью синхронных вызовов.

Есть, на мой взгляд, очень правильный способ решения этой задачи - написать свою extended stored prоcedure (которая может использовать любой транспортный механизм: CORBA, COM, сокеты, почту и т.п.). Однако, лень-матушка...


 
Delirium ©   (2002-01-21 12:20) [8]

У меня есть такая dll-ка



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

Текущий архив: 2002.02.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
6-42822
vinni2000
2001-11-23 09:54
2002.02.14
Как вы видете эту проблему?


3-42660
Voi
2002-01-18 21:29
2002.02.14
Вот ЗАДАЧА!!!


1-42736
Игорь
2002-01-30 03:09
2002.02.14
Вопрос из серии Hellow Word :)


3-42665
Eduard
2002-01-21 09:47
2002.02.14
InsertRecord и DateTime


1-42762
_SnAke_
2002-01-31 11:57
2002.02.14
Отображение главной формы