|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
Имеется база на MS SQL 2008 R2 с большой кучей таблиц. Мне из этой базы нужны лишь 5 таблиц. Вначале я их подключал в Access 2010 через ODBC, но админ настоятельно рекомендовал мне сделать локальную копию таблиц, обновлять их и уже запросы все отсылать на эти копии а не дергать сервер. Импортировать из внешних данных таблицы в Аccess 2010 получается, но не могу сообразить как сделать так, чтобы по нажатию кнопки на форме в Accesse можно было бы 5 таблиц в Accesse 2010 обновлять (пополнять) данными из аналогичных таблиц базы на MS SQL 2008 R2 вместо импорта. Т.е. происходит сравнение и если на сервере в нужные 5 таблиц добавлены новые записи, то только их импортировать в аналогичные таблицы в Accesse. Записи которые были удалены из базы на сервере не нужно удалять из копий таблиц в Accesse. Помогите пожалуйста... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 17:49 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
RupokТ.е. происходит сравнение и если на сервере в нужные 5 таблиц добавлены новые записи, то только их импортировать в аналогичные таблицы в Accesse.И как ты себе это представляешь? всё равно сначала тебе придётся либо вытащить к себе список ВСЕХ записей с сервера, либо наоборот, залить список ВСЕХ имеющихся у тебя локально записей. Это при условии, что нет некоего поля (скажем, даты-времени), на которое можно однозначно и достоверно ориентироваться - но если оно есть, то импортирующий запрос как бы тривиален. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 18:36 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
Rupok, Может быть, просто вы его не так поняли. Может он против линкованых таблиц. Вам может, если можно, переписать на хранимки для работы с таблицами. Тогда и не нужно будет тягать туда-сюда по сети все это счастье... А если он говорит про копирование себе данных для работы типа "офлайн", то просто так данные назад загнать не получится, придется кодить ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 18:44 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
[quot Akina]Rupok...что нет некоего поля (скажем, даты-времени) Да, как раз такое поле есть и оно связующщее для всех остальных полей (формат поля дд:мм:гг "00:00:00"). Может можно каким нибудь хитрым SQL запросом... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 19:31 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
ИгортанRupok, Может быть, просто вы его не так поняли. Может он против линкованых таблиц. Вам может, если можно, переписать на хранимки для работы с таблицами. Тогда и не нужно будет тягать туда-сюда по сети все это счастье... А если он говорит про копирование себе данных для работы типа "офлайн", то просто так данные назад загнать не получится, придется кодить а назад в смысле обратно на сервер загнать данные? Обратно не нужно... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 19:37 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
формат поля дата время: автордд:мм:гггг 00:00:00 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 19:41 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
Rupok, выясните есть ли в этих пяти таблицах ключи-счетчики или просто авто счетчики, если есть - то задача решается элементарно в виде 5 запросов на добавление с сервера к вам в локаль с условием отбора счетчиков больших чем ваши максимальные на данный момент. Если счетчиков нет, то как уже сказали - тоже самое, только по дате/времени... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 21:59 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
vmag, Естественно у себя в локали соответствующие счетчики нужно преобразовать тупо в длинное целое, - тогда будет тютелька в тютельку... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 22:01 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
vmagRupok, выясните есть ли в этих пяти таблицах ключи-счетчики или просто авто счетчики, если есть - то задача решается элементарно в виде 5 запросов на добавление с сервера к вам в локаль с условием отбора счетчиков больших чем ваши максимальные на данный момент. Если счетчиков нет, то как уже сказали - тоже самое, только по дате/времени... Ключей счетчиков нет, таблицы связаны между собой через кэш-коды (набор цыфр).Кэш-коды генерируются оборудованием (датчики обстановки окружающей среды и видеомониторинг). Из этих нужных мне 5 ти таблиц, есть таблица с полем дата время. Все таблицы связаны между собой через эти кеш-коды ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 05:07 |
|
Обновление локальной базы
|
|||
---|---|---|---|
#18+
Вообще с моей точки зрения правильным будет: 1) создание на SQL-сервере таблиц (возможно, в специально созданной для этих целей БД) регистрации передач, в которых хранятся сведения об идентифицирующих признаках записей, переданных на рабочую станцию в локальную БД; 2) создание на SQL-сервере процедуры, которая делает и отдаёт на клиента выборку записей, не числящихся в таких таблицах, после чего заносит сведения о переданных записях в таблицы регистрации передач; 3) настройка соединения с SQL-сервером на исполнение SQL-кода на стороне сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 08:08 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1613039]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 152ms |
0 / 0 |