Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Асинхронные события в MS SQLServer  (Прочитано 7378 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
FantomCat
Гость
« : 11-07-2005 06:15 » new

Доброго времени суток всем!
У меня вот есть такой вопрос...
Есть система, в которой все клиенты подсоединяются к SQLSrever-у, сам сервер напичкан хранимыми процедурами и кучей скриптов безопасности для нашей системы. Но есть еще и отдельная система для рассылки сообщений клиентам по определенному событию, генерируемому одним из клиентов. На данный момент это внешняя подсистема на основе DCOM, работающая с виртуальными данными. Сейчас стал вопрос о том, чтобы эту систему встроить в  SQLServer. Пожалуйста, если кто знает, подсткажите, можно ли организовать такой механизм рассылки сообщений (сообщения должны одновременно рассылаться всем клиентам, но с различными параметрами). и есть ли возможность делать рассылку сообщений на основе DCOM или .NET Remoting, так как Mailslots тут решительно не подходит, а метод рассылки сообщений задержкой вызова, описанный здесь http://www.sql.ru/articles/mssql/02040201AlertServiceForSQLserv.shtml  не подходит, так как сигнал отправляется только одному клиенту, поэтому тут надо либо комбинировать методы, либо..Не понял Но в любом случае здесь речь идет об Extended Stored Procedure  либо ActiveX-объекте...
Помогите, пожалуйста, если кто сталкивался с такой задачей.. примем на рассмотрение любые варианты.
Заранее спасибо
Записан
NetRaider
Гость
« Ответ #1 : 11-07-2005 08:30 » 

Доброго времени суток всем!
У меня вот есть такой вопрос...
Есть система, в которой все клиенты подсоединяются к SQLSrever-у, сам сервер напичкан хранимыми процедурами и кучей скриптов безопасности для нашей системы. Но есть еще и отдельная система для рассылки сообщений клиентам по определенному событию, генерируемому одним из клиентов. На данный момент это внешняя подсистема на основе DCOM, работающая с виртуальными данными. Сейчас стал вопрос о том, чтобы эту систему встроить в SQLServer...
Ммм... А зачем ? из-за безопасности ? ИМХО, перенос логики на уровень БД череват...
Цитата
Пожалуйста, если кто знает, подсткажите, можно ли организовать такой механизм рассылки сообщений (сообщения должны одновременно рассылаться всем клиентам, но с различными параметрами). и есть ли возможность делать рассылку сообщений на основе DCOM или .NET Remoting, так как Mailslots тут решительно не подходит
...
 Но в любом случае здесь речь идет об Extended Stored Procedure либо ActiveX-объекте...
Помогите, пожалуйста, если кто сталкивался с такой задачей.. примем на рассмотрение любые варианты.
Заранее спасибо
А клиентов много ? И какой суммарный объем пересылаемых данных ?
Можно попробовать написать простую Extended SP которая будет дёргать существующую DCOM подсистему.
Т.е. в ESP формируются _все_ соообщения с необходимыми параметрами и одним вызовом передавать дальше
в DCOM-компонент, который будет асинхронно отсылать данные... Но это зависит от размера данных.
Или посмотреть в сторону MSMQ, может там что есть...(я с ним практически не работал)
Записан
FantomCat
Гость
« Ответ #2 : 11-07-2005 09:08 » 

клиентов около 150-200, но данные гоняются по этим так сказать событиям небольшие 40-50 байт, ну только в отдельном случае м.б. 300-400 байт, но он редкий..
Вопрос о переносе системы внутрь SQL-сервера стал из за надежности. Система в ходе разработки очень сильно разрослась и стало очень сложно следить за всеми связями между данными в виртуальной модели. Вообще, та, что сейчас есть DCOM подсистема, служит для синхронизации, с ее помощью сразу же отображается у всех клиентов, если кто-то что-то удалил, добавил, а также с ее помощью у клиентов отображается, если кто-то другой перешел на вкладку редактирования записи и пр, даже когда еще запрос на сервер не был отправлен, следит за допустимым временем выполнения операции, таймаутами, присутствием клиентов в сети и пр.. Это так отступление, дабы ввести в курс системы.
Дело в том, что средствами SQL-сервера много очень удобно реализовать (в учет идет еще и интеграция с системой безопасности) кроме обратной связи с клиентами..

Я так понимаю, что поступило предложение делать все на сервере, а только лишь для рассылки сообщений использовать DCOM-серверок?
Тоже идея Улыбаюсь Спасибо...
Просто я думала, может есть внутри сервера подобные средства
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 12-10-2005 12:15 » 

Хм исходя из логики БД  пользователь работает только с базой и никоем образом не пересекается с другими пользователями. А у вас существует необходимость прямого взаимодествия между клиентами ... если это так то придется писать свой серверок ... либоже обязать клинета часто смотреть какуюнибудь маленькую табличку и заберать оттуда инстркуции для себя.
Записан

Да да нет нет все остальное от лукавого.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines