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

Вниз

Может ли MS SQL Server 2000 (хр. процедура и т.п.) рассылать   Найти похожие ветки 

 
Layner   (2003-12-11 12:17) [0]

сообщения клиентам, а клиенты, подкл. к этому SQL Server принимать сообщения, обрабатывать? В общем поясню на примере, хочу отслеживать у любого клиентов что происходит в БД, т.е. Вася добавил в таблицу строку, срабатывет тригер на инсерт, запускает хр. процедуру, которая шлёт сообщение (не знаю как правда, всем сразу, или по отдельности..) всем др. пользователям, Пете, Коле... Аналогично наоборот. Т.е. Пятя будет знать, что Вася сегодня(только что) добавил товар на склад, списал другой товар... Помогите реализовать задуманное. Если дело может выполнить хр. процедура, то что примерно в нее входит, и что стоит у клиента (пишу на D5-D7). Заранее всем спасибо.


 
MV   (2003-12-11 12:19) [1]

"Ох, не ходи ты по этой дорожке..."
Да можно, конечно, а что клиент Петя с эти делать будет?
Не рефрешить ли весь набор данных заново?
Предствляешь, как ему будет весело при каскадных операциях?
Особенно, если в базе не 2-3 записи, а чуть побольше...


 
Layner   (2003-12-11 12:25) [2]

Не, только на вставку записей в определенной таблице. Тут может и одно сообщение в день. Интересует как это вообше реализуется...


 
MV   (2003-12-11 12:28) [3]

Эвентсы база. Без всяких хр.процедур. Подписываешься на них и обрабатываешь в клиенте. Либо, например, через внешнюю функцию - через -какие-нибудь эвентсы COM. И т.п.


 
Layner   (2003-12-11 12:31) [4]

Ну ладно, с евентсами так с евентсами, почитаю документашку, спасибо.


 
Layner   (2003-12-15 16:08) [5]

Подскажите, плз, как отрабатывать event, или ключевое слово, по которым можно тут поискать информацию.


 
JibSkeart   (2003-12-15 17:06) [6]

можещь связать клиентов по обычному Сокету :)


 
Nikolay M.   (2003-12-15 17:22) [7]

На sql.ru, помнится, была неплохая статья по сабжу.


 
sniknik   (2003-12-15 17:31) [8]

сдесь есть пример
http://home.earthlink.net/~akonshin/index.htm


 
Delirium   (2003-12-15 18:07) [9]

Ну и разумеется не будем забывать про никому не известный на этом сайте линк http://delphibase.endimus.com/ :)


 
sniknik   (2003-12-15 18:23) [10]

Delirium © (15.12.03 18:07) [9]
ты не так давно положил, всего 1 раз помню упоминал. не запомнили еще. ;о)
а у Alex-са с год а то и полтора назад видел/пробовал, т.е. давно знаю. хотя как пример да у тебя лутше, проше.


 
Delirium   (2003-12-15 18:32) [11]

На самом деле не раз уже упоминал, просто думаю надо вплючить UBPFD в местный поиск что-ли..., но это к отцам сайта :)


 
vuk   (2003-12-15 19:17) [12]

>ообщения клиентам, а клиенты, подкл. к этому SQL Server
>принимать сообщения, обрабатывать?
В принципе да. У меня такое реализовано. Как это сделано?
1. Реализовна система рассылки нотификаций между приложениями. То есть имеется приложение-сервер, к которому клиенты коннектятся по TCP. Там существует что-то типа подписки на группы сообщений. Существуют персональные и групповые сообщения. Система нотификации может использоваться для чего угодно. На самом деле можно хоть чат делать. :o)

2. В MS sQL есть табличка, в которую складываются сообщения для отправки клиентам. Плюс есть Job, который периодически запускает процедуру на сервере, которая выбирает данные из таблички и посредством расширенной хранимой процедуры рассылает все это дело клиентам.


 
Layner   (2003-12-16 08:13) [13]

Понял, всем большое спасибо, пойду по ссылкам!


 
Layner   (2003-12-16 10:44) [14]

Много интересного
http://home.earthlink.net/~akonshin/files/SQLAlert.zip (80кб)
но .... сложно для начала моих опытов, я бы сказал даже очень .... решил сделать таблицу на сервере, и каждые 10 секунд (20,30..) опрашивать на кол-во строк, если есть изменения, выбираю, и отображаю в программе клиента изменения. В принципе нагрузка не большая, даже при 10-20 клиентах (а больше в моей программе работать не планируется... пока по крайней мере..)


 
Obivatel   (2003-12-16 14:16) [15]

Tupee reshenia pridumat slozhno :)))


 
Bless   (2003-12-16 15:21) [16]

to Layner ©>
А может, сделать так:

В триггере на вставку возбуждать информационное сообщение функцией
raiseerror("Vstavili chego-to",10,1),
а в событии
ADOConnection1.OnInfoMessage это сообщение ловить? Не проверял, но должно по идее работать.


 
Shirson   (2003-12-18 09:55) [17]

>Bless

Проверил - работает.
Но только если cursorlocation выставленно в clUseServer.
Кстати, с неменьшим успехом работает print "Vstavili chego-to"
:)



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

Форум: "Базы";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
3-49413
MakNik
2003-12-19 10:29
2004.01.16
SQL


1-49573
Прямой
2004-01-05 17:14
2004.01.16
Запись в файл


6-49670
zxc
2003-11-14 14:54
2004.01.16
как програмно разрешить доступ к папке по FTP??


8-49649
kill_john
2003-09-15 09:41
2004.01.16
Как сохранить текущий кадр


3-49391
Крутыш
2003-12-20 15:10
2004.01.16
Action какие может принимать значения





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