Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Внизузнать запрос dataset на изменение данных Найти похожие ветки
← →
ply (2008-06-08 19:51) [0]как узнать запрос, который DataSet посылает базе для изменения данных (при вызове DataSet.Post)
← →
Тын-Дын © (2008-06-08 20:12) [1]
> ply (08.06.08 19:51)
> как узнать запрос, который DataSet посылает базе для изменения
> данных (при вызове DataSet.Post)
Воспользоваться средствами мониторинга для соответствующей БД?
← →
sniknik © (2008-06-08 20:18) [2]или средствами ODBC если он есть(можно внести) в цепочке "приложение -> ... -> база"
← →
ply (2008-06-09 12:45) [3]
> Воспользоваться средствами мониторинга для соответствующей
> БД?
хотелось бы ДО запроса
← →
MsGuns © (2008-06-09 12:46) [4]Писать запрос "ручками"
← →
ply (2008-06-09 16:13) [5]ручками неохота, так как в базу надо заносить только измененные значения?
может можно как-то узнать какие поля и как изменились?
← →
Поросенок Винни-Пух © (2008-06-09 16:14) [6]Можно конечно.
← →
clickmaker © (2008-06-09 16:18) [7]> может можно как-то узнать какие поля и как изменились?
UpdateStatus OldValue NewValue
← →
Anatoly Podgoretsky © (2008-06-09 16:22) [8]
> ручками неохота, так как в базу надо заносить только измененные
> значения?
Зачем, ты думаешь, что то изменится, если до запроса а было равно 5, и без анализа а=5 что то изменится? Ты как то определишь, что первый 5 не измененый, а второй 5 измененый. Не стоит ли заняться делом или точно объяснить задачу, зачем такое нужно. Только это лишняя ненужная работа, которая может снизить производительность, особенно при большом количестве полей.
← →
ply (2008-06-09 16:40) [9]вот задача
нужно сохранять все sql-запросы, изменяющие данные
а вот зачем оно надо:
база клиентов должн быть доступна из разных точек. Синхронизацию хочу сделать через интернет. Но так как бывают перебои в связи с сетью, нужно чтобы была возможность редактировать данные оффлайн, с последующим их обновлением на других компьютерах, на которых данные не редактировались.
думаю сделать так:
Все сделанные изменения хранить в виде sql-запросов к базе.
Компьютеры будут периодически подключасться к серверу в Интернете и закачивать на него изменения в виде запросов к базе, и скачивать, а затем выполнять запросы, сделанные с других компьютеров.
Есть еще вариант сделать главную базу данных клиентов в интернете и периодически синхронизировать с ней локальные базы. Только пока я смутно представляю ка кэто сделать: например, в главной базе клиента нет, а влокальной есть. Это можно расценивать как добавление клиента и то что он был удален с другого компьютера.
← →
clickmaker © (2008-06-09 16:47) [10]> [9] ply (09.06.08 16:40)
для этого больше ClientDataSet + WebConnection подходит
← →
Sergey13 © (2008-06-09 16:59) [11]> [9] ply (09.06.08 16:40)
> например, в главной базе клиента нет, а влокальной есть.
> Это можно расценивать как добавление клиента и то что он
> был удален с другого компьютера.
Для этого надо не удалять а ставить метку о его удалении.
> закачивать на него изменения в виде запросов к базе, и скачивать,
> а затем выполнять запросы, сделанные с других компьютеров.
Если это не одна табличка, а несколько связанных, могут быть проблемы с целостностью данных. Так в лоб эту проблемму решать стремно, ИМХО.
Что за СУБД? Может есть встроенная репликация?
← →
ply (2008-06-09 17:03) [12]это понятно... только надо как-то сделать чтобы при потере соединяния с Интернетом можно было бы работать с базой клиентов, а потом, при восстановлении подключения, применить изменения к главной базе
← →
ply (2008-06-09 17:07) [13]Sergey13, субд - mysql
таблиц много, но синхронизировать надо только одну, таблицу клиентов. Остальные данные на каждом компьютере должны быть разными
← →
ply © (2008-06-09 17:19) [14]вот что придумал:
На сервере находится главная таблица с клиентами. На локальных ПК - ее копии, которые каждые полчаса приводятся в соответствие с главной - для возможности просмотра базы офлайн и отображение данных в связанных выборках.
Изменения будут происходить только в online-режиме.
Исключение составляет лишь баланс клиента. Изменеиня будут записываться в специальную таблицу и применяться при подключении к главной базе.
вродебы должно работать...
← →
MsGuns © (2008-06-09 21:07) [15]Ты ответы читаешь ? В [10] рецепт дан. То, что ты навыдумывал - это склад тяпок и граблей.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.09 c