powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Организация пакета обновления базы данных
13 сообщений из 13, страница 1 из 1
Организация пакета обновления базы данных
    #39331964
GrayShadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, сообщество.

Хотелось бы услышать варианты реализации пакета обновления для БД на ACCESS 2007.
Опишу ситуацию:
Есть разделенная БД у которой есть несколько независимых пользователей работающих в Runtime.
Часть accdb, с данными, у каждого своя (структура одинаковая, данные разные). Клиентскую часть при доработках я подменяю на новую, а вот как организовать удобное обновление в части с данными, хотелось бы услышать от тех кто это реализовал уже.

Есть предположение, что нужно создать отдельную БД для обновления, и зашивать скрипт на кнопку "Обновить", в котором будет кучка DDL и DML SQL-скриптов. Естественно с предварительным выбором файла с данными.
Еще есть желание проверять совместимость версий клиентской и серверной части, ну это просто.

Может есть еще подводные камни о которых я не подумал, или удачные решения?
Прошу поделиться опытом.
Спасибо.
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39331977
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayShadow,

Я реализовал вот так:
http://www.sql.ru/forum/1232258/perebros-dannyh-iz-drugoy-bazy
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39331985
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58...Я реализовал вот так:...
На мой взгляд, вот это - ИСТИННЫЙ ФАНАТ Аксика, своЁ видение проявил
+++
час58 - так держать!!!
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332024
GrayShadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хмм... Интересный подход, спасибо. Но как-то это смахивает на лечение глаз через задний проход.
Нет, функция полезная, но для переноса данных, не для апдейта.

То есть если у меня несколько десятков таблиц, с кучей данных и огромным количеством связей по генерируемым счетчиками id, а мне нужно в табличку 1 поле добавить, то придется все это добро переносить в новую базу, вместо 1 строки ALTER TABLE...
Как-то избыточно, не считаете? И я все же сомневаюсь в сохранении ссылочной целостности.

Есть еще предложения?
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332034
Safich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если обновления не очень частые и полностью контролируется вами, то.
1) Добавляем таблицу (или пишем в реестр) для хранения текущей сборки например 1.0
2) В самом клиенте проверяем какая версия, если 1.0, а у нас 1.1, то выполняем код обновления данных и версию новую пишем.
Базу правлю DAO:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim dbf As DAO.Database

set dbf=DBEngine.Workspaces(0).OpenDatabase(путь_к_базе)
set tbl = dbf.TableDefs(Имя_таблицы)
Set fld = tdf.CreateField(Новое_поле1, ТипДанных)
tdf.Fields.Append fld
Set fld = tdf.CreateField(Новое_поле2, ТипДанных)
tdf.Fields.Append fld
Set tdf = Nothing


Как-то так
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332040
GrayShadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Не плохой вариант. Скромно, аккуратно.
Подскажите есть разница(плюсы, минусы) между DAO и SQL (Alter table.../ Create table...)?
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332076
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayShadowХотелось бы услышать варианты реализации пакета обновления для БД на ACCESS 2007. Обновление модулей для пользователей
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332085
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayShadow,
Я правлю базу(таблицы), которая у меня имеется- как хочу.
Отсылаю пользователю два файла (Интерфейс и новый набор таблиц).
Он запускает интерфейс жмёт на кнопочку и указывает путь к старой своей базе.
И работает дальше уже с новой версией программы.
В программе нет проверок версий, наличия полей и прочего. Нет кода, который нужно удалять в новых версиях.
Функция написана один раз и на всегда.
Всё просто.
------------------------------------------------------
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332105
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Функция написана один раз и на всегда.
Всё просто.

При одном условии - что счетчики в классификаторах (главных таблицах) искусственные иначе, как говорил Панург
ПанургБыл кефир в бутылках, стал носками в бочках?
Нормально! Зато весело!
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332108
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

естественно, имелось ввиду - искусственные ключи, искусственные счетчики/ключи, иначе...
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332243
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мое мнение: обновлять вэкэнд через работу на уровне свойств таблиц через VBA - неэффективный и тупиковый путь. Все неплохо, пока база маленькая. А что вы будете делать когда там будет хотя бы полсотни таблиц и нужно будет поменять структуру?
Я делаю так:
Схему базы делаю в CASE типа PowerDesigner или ERWin, они все могут генерировать SQL скрипты для создания/изменения базы данных, а также изменять схему, считывая структуру существующей базы. Очень легко можно изменить тип базы на любой другой сервер и миграция таблиц превращается легкую задачу. Также есть возможность автоматической проверки структуры базы.

Далее полученный скрипт обрабатывается в форме, которая выполняет команды SQL, созданные в CASE или рукамим. Сейчас попробую приложить эту форму, не знаю пока, удастся ли перевести ее в mdb или утрамбовать accdb в 150К
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39332257
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, собственно, форма с требуемой функциональностью, выдрал из большого приложения, поэтому есть избыточная функциональность, упрощать некогда, возможно что-то не будет работать. В заголовке модуля краткое описание. Тестовый пример также есть. Скопируйте все файлы в c:\tst\, запустите форму, выберите SQL файл и запустите апдейт. Он создаст в бэкэнде новую таблицу и вставит в нее несколько значений. Обратите внимание, что файл со скриптом должен иметь строку-заголовок, ее можно использовать для контроля версий, этот функционал сейчас закомментирован.
...
Рейтинг: 0 / 0
Организация пакета обновления базы данных
    #39333550
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

естественно, имелось ввиду - искусственные ключи,
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Организация пакета обновления базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]