Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Добрый вечер всем. Если заносить изменения в БД одним клиентом, то второй (третий и т.п.) эти изменения увидит только после обновления DataSet’а. Вопрос, есть ли в MSSQL 2008 инструменты с помощью которых в нужный момент (например через хранимую процедуру) можно отправить всем клиентам сетевое уведомление, чтоб те обновили DataSet? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:32 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
триггер на апдейт нужной таблицы и EXECUTE msdb.dbo.sp_notify_operator ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:42 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
stavgreengoтриггер на апдейт нужной таблицы и EXECUTE msdb.dbo.sp_notify_operator sp_notify_operator (Transact-SQL) Sends an e-mail message to an operator using Database Mail. Оператор не устанет письма читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 06:04 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5Добрый вечер всем. Если заносить изменения в БД одним клиентом, то второй (третий и т.п.) эти изменения увидит только после обновления DataSet’а. Вопрос, есть ли в MSSQL 2008 инструменты с помощью которых в нужный момент (например через хранимую процедуру) можно отправить всем клиентам сетевое уведомление, чтоб те обновили DataSet? Есть, называется столбец rowversion (timestamp). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 06:07 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
aleks2Гость5Добрый вечер всем. Если заносить изменения в БД одним клиентом, то второй (третий и т.п.) эти изменения увидит только после обновления DataSet’а. Вопрос, есть ли в MSSQL 2008 инструменты с помощью которых в нужный момент (например через хранимую процедуру) можно отправить всем клиентам сетевое уведомление, чтоб те обновили DataSet? Есть, называется столбец rowversion (timestamp). Доброе утро. Не совсем понимаю о чём речь, может завалялся примерчик))) или есть ссылка на хорошую статейку. Если несложно в двух словах напиши как это работает (принцип работы). Сейчас все манипуляции с данными идут через хранимые процедуры, есть табличные переменные. В самой простой форме можно сказать, что идёт создание или обновление документа "один-ко-многим" т.е. в процедуре фактически полный цикл транзакции. В процедуре может обновиться от 1-й до 100-200 строк, но после этого клиент должен получить сетевое уведомление о том что определённая таблица изменилась (хотя по ней может измениться не одна строка), для того чтобы обновить DataSet. Клиент написан на DelphiXE6 + FireDAC. Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 07:50 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5, в ADO.Net для таких целей используется класс SqlDependency , который, по сути, является оберткой над query notifications . Поскольку у вас Delphi, то нужно будет вручную настроить Query Notification , и запускать цикл ожидания оповещений в отдельном клиентском трэде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 08:54 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять Если смотреть идеальный вариант - надо не фантазировать, а надо реально смотреть на вещи. Невместно серверу париться за клиента и чего-то там ему слать. Чем придумывать фсякие query notifications - лучше сделать простой механизм запроса клиентом наличия обновлений в таблице. И пущай клиент париться за "обновили-необновили". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 09:36 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
aleks2Гость5Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять Если смотреть идеальный вариант - надо не фантазировать, а надо реально смотреть на вещи. Невместно серверу париться за клиента и чего-то там ему слать. Чем придумывать фсякие query notifications - лучше сделать простой механизм запроса клиентом наличия обновлений в таблице. И пущай клиент париться за "обновили-необновили". Сейчас это есть. Сделано было неплохо. Сам проект двух-звенка, но, написана ещё служба, которая следит за сетевыми обновлениями + авто обновлением программы. Т.е. проект и не двух-звенка и не трёх, что-то между))) Хотим исключить лишнее (на наш взгляд) звено в проекте т.к. из-за службы появились нюансы. Сейчас надо понять, можно ли эти функции возложить на MSSQL 2008 или выше или оставить как есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 09:58 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
aleks2, если как предлагаешь ты ))) спамить лишний раз сетку - это уж совсем криво, особенно если одновременно с базой будут работать 100-200 клиентов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 10:02 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5, Ничего, что сервер и сделан именно для того, чтобы обслуживать запросы множества клинтов? А спамить сетку сообщениями на каждый чих в таблицах - это нормально, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 10:27 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
baracs, я же писал! Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 12:01 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5baracs, я же писал! Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять Ну дык, передай. В чем проблема то? ЗЫ. Он думает, что "взял и передал", а подумать, что клиент должен "ожидать оной передачи и обрабатывать результаты" - это подумать он забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 12:04 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Создать временную таблицу, где первый столбец будет id польователя, второй состояние допустим 0 нет обновлений 1 есть. На рабочую таблицу навесить тригер, который это состояние во временой таблице будет обновлять. Ну и с клиента через определённый период времени это состояние проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 13:21 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Сон Веры ПавловныГость5, в ADO.Net для таких целей используется класс SqlDependency , который, по сути, является оберткой над query notifications . Поскольку у вас Delphi, то нужно будет вручную настроить Query Notification , и запускать цикл ожидания оповещений в отдельном клиентском трэде. Добрый день, смотрю Вашу идею, чтоб включить её использую ALTER DATABASE <your db name> SET ENABLE_BROKER Вопрос, это сказывается на производительности? я правильно понимаю, это что-то типа механизма обратных вызовов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 14:33 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Гость5aleks2пропущено... Есть, называется столбец rowversion (timestamp). Доброе утро. Не совсем понимаю о чём речь, может завалялся примерчик))) или есть ссылка на хорошую статейку. Если несложно в двух словах напиши как это работает (принцип работы). Сейчас все манипуляции с данными идут через хранимые процедуры, есть табличные переменные. В самой простой форме можно сказать, что идёт создание или обновление документа "один-ко-многим" т.е. в процедуре фактически полный цикл транзакции. В процедуре может обновиться от 1-й до 100-200 строк, но после этого клиент должен получить сетевое уведомление о том что определённая таблица изменилась (хотя по ней может измениться не одна строка), для того чтобы обновить DataSet. Клиент написан на DelphiXE6 + FireDAC. Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять http://msdn.microsoft.com/en-us/library/ms175110(v=sql.105).aspx http://forums.devart.com/viewtopic.php?f=6&t=30057 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:02 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
prog123, Спасибо, именно это сейчас изучаю, хочу понять как это всё работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 15:14 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 11:33 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 11:58 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
aleks2Гость5Если смотреть на идеальный вариант, то неплохо бы передать произвольный сетевой пакет клиенту, в котором можно отразить например несколько параметров + название подсистемы, которая её вызывает, по этим данным можно судить какой датасет обновлять Если смотреть идеальный вариант - надо не фантазировать, а надо реально смотреть на вещи. Невместно серверу париться за клиента и чего-то там ему слать. Ч ем придумывать фсякие query notifications - лучше сделать простой механизм запроса клиентом наличия обновлений в таблице. И пущай клиент париться за "обновили-необновили". MS уже сделала. Это еще вопрос, что лучше, один раз получить нотификацию об изменении или долбить запросами каждую секунду "не изменилось ли чего" + если клиентов туча ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 12:11 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
По-хорошему, сервер БД не должен являться и сервером же приложений. Оповещениями должен заниматься слой передачи данных. Прикольно иметь "все в одном", но не эффективно. Вы бы стали пользоваться пилой-молотком-ножницами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 12:19 |
|
||
|
Как уведомить клиентов об изменении записей в таблице?
|
|||
|---|---|---|---|
|
#18+
Ролг Хупинaleks2пропущено... Если смотреть идеальный вариант - надо не фантазировать, а надо реально смотреть на вещи. Невместно серверу париться за клиента и чего-то там ему слать. Ч ем придумывать фсякие query notifications - лучше сделать простой механизм запроса клиентом наличия обновлений в таблице. И пущай клиент париться за "обновили-необновили". MS уже сделала. Это еще вопрос, что лучше, один раз получить нотификацию об изменении или долбить запросами каждую секунду "не изменилось ли чего" + если клиентов туча вот я повелся на поднятую из 2014 года тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=38758468&tid=1689869]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 364ms |

| 0 / 0 |
