Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-42702
ava
2002-01-22 23:17
2002.02.14
Как перенести, а затем востановить, данные из таблицы


1-42790
Ura
2002-01-31 17:47
2002.02.14
Потоки


14-42860
Андрей Сенченко
2001-12-25 16:20
2002.02.14
Безумные размеры EXE-шников


1-42754
Quest
2002-01-30 12:05
2002.02.14
Обновление программы, вызываемое из неё самой ...


1-42808
Ig
2002-01-31 23:37
2002.02.14
Нужны алгоритмы обработки изображений!!!





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