![]() |
|
Модераторы: gambit |
![]()
|
|
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 4 Всего: 149 |
Есть приложение, которое напрямую данные в базе не изменяет.
Таких приложений на разных машинах очень много, они по чуть-чуть (раз в 5-10 минут) изменяют эти данные. Каждое такое приложение должно иметь актуальные данные с актуальностью, допустим, 10 сек. Это введение, чтобы прочувствовать ситуацию Для простоты пусть это будет обычная форма с DataGridView, который забинжен на dataTable с DataAdapter'ом Так как данных в гриде не так уж и много (100 -200 элементов), то, в принципе, можно DataTable постоянно обновлять DataAdapter.Fill(..) (раз в 10 сек, например). Но это совсем не красиво Полазил по оракловскому форуму, нашел похожую ситуацию http://forums.oracle.com/forums/thread.jsp...478򀂾 Там предложили, по сути, только одно решение: Повесить на таблицу триггер (либо запустить в базе приложение, которое будет отслеживать изменения), который будет уведомлять приложение об изменениях в таблице. Но я в этом совсем не особо секу. Нужно разбираться. Может есть какое-то другое решение? Жду ваших комментариев, ivashkanet P.S. Как вы уже поняли, БД --- Oracle. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Если приложения работают с бд не напрямую, а через серверную прослойку бизнес-логики, можно организовать нотификацию на своём уровне:
- послали обновлённые данные серваку - сервак сохранил их в БД - у себя в статик-переменной сохранил пометку "такие-то записи изменились в такое-то время" - клиент опрашивает сервак каждые N секунд, спрашивает какие записи изменились с последнего раза, сервак отдаёт их клиенту Типа того. -------------------- ![]() |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 4 Всего: 149 |
В данный момент напрямую. Так что этот вариант не особо устраивает, так как нужно еще и убедить заказчика в целесообразности.
Вот это и есть основная проблема Меня волнует вопрос: неужели я один столкнулся с такой проблемой? ИМХО, это распространенная задача. Добавлено @ 14:50 Модераторам: А можно мне продублировать эту тему на нашем форуме по Oracle-у? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Дублируй. А ещё я бы советовал спросить или поискать на sql.ru, скорее всего такая тема уже подымалась.
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |