BatchAccess: утилита для управления базами MS Access
От: Никита А. Зимин Россия http://nzeemin.livejournal.com/
Дата: 18.05.04 14:44
Оценка: 215 (6)
Статья:
BatchAccess: утилита для управления базами MS Access
Автор(ы): Никита А. Зимин
Дата: 14.12.2005
BatchAccess — небольшая утилита, написанная в компании Русские Информационные Технологии. Мы создали ее в ходе работы над программным продуктом, работающим с базой данных MS Access.
Целью было — перейти от описания базы средствами Access к описанию в виде SQL-скрипта.


Авторы:
Никита А. Зимин

Аннотация:
BatchAccess — небольшая утилита, написанная в компании Русские Информационные Технологии. Мы создали ее в ходе работы над программным продуктом, работающим с базой данных MS Access.
Целью было — перейти от описания базы средствами Access к описанию в виде SQL-скрипта.
Re: Создание базы данных MS Access из SQL-скрипта
От: Titus  
Дата: 20.05.04 08:24
Оценка:
Здравствуйте, Никита А. Зимин,
Утилита была бы значительно полезней, если бы умела создавать скрипт на все объекты
БД из готового MDB-файла.
Причем, заливать данные в скрипт, наверное, не очень-то нужно, а вот сделать возможность
экспортировать и импортировать формы с исходными текстами очень бы даже пригодилось.
А если еще и ресурсы, типа картинок, будут аккуратно складываться в какой-нибудь zip-файл (по
аналогии с джавой) — вообще будет классно
Re[2]: Создание базы данных MS Access из SQL-скрипта
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 20.05.04 08:32
Оценка:
Здравствуйте, Titus, Вы писали:

T>Утилита была бы значительно полезней, если бы умела создавать скрипт на все объекты

T>БД из готового MDB-файла.
T>Причем, заливать данные в скрипт, наверное, не очень-то нужно, а вот сделать возможность
T>экспортировать и импортировать формы с исходными текстами очень бы даже пригодилось.
T>А если еще и ресурсы, типа картинок, будут аккуратно складываться в какой-нибудь zip-файл (по
T>аналогии с джавой) — вообще будет классно

Следующая версия уже умеет: создавать SQL-скрипт структуры по имеющейся базе, создавать SQL-скрипт данных по имеющейся базе, подлинковывать внешние таблицы (метаоператор #LINK TABLE), сжимать/лечить базу (#COMPACT DATABASE).
Но, к сожалению, это уже не для свободного распространения.
Re[3]: Создание базы данных MS Access из SQL-скрипта
От: Аноним  
Дата: 24.05.04 06:05
Оценка:
N>Следующая версия уже умеет: создавать SQL-скрипт структуры по имеющейся базе, создавать SQL-скрипт данных по имеющейся базе, подлинковывать внешние таблицы (метаоператор #LINK TABLE), сжимать/лечить базу (#COMPACT DATABASE).
N>Но, к сожалению, это уже не для свободного распространения.

К счастью есть утилита для свободного распространения, называется она "VIEWODBC"

Re[2]: Создание базы данных MS Access из SQL-скрипта
От: Александр Воронин Россия [70620598]
Дата: 24.05.04 06:30
Оценка:
Здравствуйте, Titus, Вы писали:

T>Утилита была бы значительно полезней, если бы умела создавать скрипт на все объекты

T>БД из готового MDB-файла.

Как-то лет 5 примерно назад писал подобный скрипт на VBA/97 изнутря акцесса — перечисляет все объекты и, используя "недокументированную" функцию SaveObjectAsText (или что-то подобное — не помню за давностью), сохраняла это дело как кучу файлов...

Что-то вроде

Dim f as form

for each f in CurrentDB.forms
 DoCmd.SaveObjectAsText f, f.name [, что-то еще - не помню]
next f


Сохранялось все, кроме таблиц и запросов — для них как-то по-другому извертывался...
Подозреваю — можно прикрутить это безобразие с использованием Access через COM...
---
wbr, Alexander Voronin
mailto:
Re[3]: Создание базы данных MS Access из SQL-скрипта
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 24.05.04 07:43
Оценка:
Здравствуйте, Александр Воронин, Вы писали:

АВ>Как-то лет 5 примерно назад писал подобный скрипт на VBA/97 изнутря акцесса — перечисляет все объекты и, используя "недокументированную" функцию SaveObjectAsText (или что-то подобное — не помню за давностью), сохраняла это дело как кучу файлов...

АВ>Сохранялось все, кроме таблиц и запросов — для них как-то по-другому извертывался...
АВ>Подозреваю — можно прикрутить это безобразие с использованием Access через COM...

Через ADOX можно перебрать все объекты базы и их свойства. Сделать из этого ряд запросов — не такое уж и трудное дело.

Есть еще проблема с тем что Jet не умеет делать некоторые вещи. Например, невозможно задать значения по умолчанию, невозможно создавать внешние таблицы.
... << RSDN@Home 1.1.2 stable >>
Re[4]: Создание базы данных MS Access из SQL-скрипта
От: Александр Воронин Россия [70620598]
Дата: 24.05.04 07:50
Оценка:
Здравствуйте, nzeemin, Вы писали:

АВ>>Подозреваю — можно прикрутить это безобразие с использованием Access через COM...

N>Через ADOX можно перебрать все объекты базы и их свойства. Сделать из этого ряд запросов — не такое уж и трудное дело.

Ы!ы-ы-ы! Может, я отстал от жизни (особенно в свете новых офисов) но все объекты, кроме таблиц/запросов хранятся как элементы DocFile (или как там эта структура офисных файлов зовется). Что ADOX умеет работать и со свойствами DocFile? Если так — пожалуй проще через него есс-но — сразу "все-в-одном" ...
---
wbr, Alexander Voronin
mailto:
Re[5]: Создание базы данных MS Access из SQL-скрипта
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 24.05.04 13:36
Оценка:
Здравствуйте, Александр Воронин, Вы писали:

АВ>>>Подозреваю — можно прикрутить это безобразие с использованием Access через COM...

N>>Через ADOX можно перебрать все объекты базы и их свойства. Сделать из этого ряд запросов — не такое уж и трудное дело.

АВ>Ы!ы-ы-ы! Может, я отстал от жизни (особенно в свете новых офисов) но все объекты, кроме таблиц/запросов хранятся как элементы DocFile (или как там эта структура офисных файлов зовется). Что ADOX умеет работать и со свойствами DocFile? Если так — пожалуй проще через него есс-но — сразу "все-в-одном" ...


ADOX позволяет получить информацию о таблицах (Tables), их полях (Columns), ключах (Keys) и индексах (Indexes), процедурах (Procedures) и вьюшках (Views), а также пользователях (Users) и группах (Groups).
Таким образом, можно получить описание файла MDB как реляционной базы данных.
Отсюда видно, что ADOX не дает информации на: формы, отчеты, страницы, макросы и модули.
... << RSDN@Home 1.1.2 stable >>
Re[6]: Создание базы данных MS Access из SQL-скрипта
От: Александр Воронин Россия [70620598]
Дата: 25.05.04 11:35
Оценка:
Здравствуйте, nzeemin, Вы писали:


N>ADOX позволяет получить информацию о таблицах (Tables), их полях (Columns), ключах (Keys) и индексах (Indexes),

N>Отсюда видно, что ADOX не дает информации на: формы, отчеты, страницы, макросы и модули.

О!.. как раз так я себе это и представлял (до ADOX еще не добрался — ADO хватает )
Посему замечание: Массу характеристик в том числе и таблиц (типа тех же значений по-умолчанию) Access хранит в сойствах файла БД и добраться до них средсвами "доступа к БД" — ADO(X), ODBC, Jet(?) ИМХО вряд ли получится — выход использовать сам Access.

Если кому это надо — пороюсь в архивах и найду эту базу с фунцкиями...
ЗЫ: Кстати делалось это безобразие как задумка к ведению версий БД кто-то недавно спрашивал об этом...
---
wbr, Alexander Voronin
mailto:
Re: Создание базы данных MS Access из SQL-скрипта
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 15.12.04 06:17
Оценка:
Здравствуйте, Никита А. Зимин, Вы писали:

НАЗ>Авторы:

НАЗ> Никита А. Зимин

НАЗ>Аннотация:

НАЗ>Небольшая и очень простая утилита. Позволяет создать пустую базу данных (БД) формата MS Access (.mdb), создать ее структуру и наполнить ее данными на основе скрипта из простого текстового файла, содержащего набор SQL-операторов.

Первая версия этой утилиты была опубликована с исходными кодом (Создание базы данных MS Access из SQL-скрипта
Автор(ы): Никита А. Зимин
Дата: 14.12.2005
BatchAccess — небольшая утилита, написанная в компании Русские Информационные Технологии. Мы создали ее в ходе работы над программным продуктом, работающим с базой данных MS Access.
Целью было — перейти от описания базы средствами Access к описанию в виде SQL-скрипта.
); все что она могла — это создавать новый MDB-файл и выполнять SQL-скрипт. На этот раз, с соглашения руководства компании, я публикую гораздо более полезную версию утилиты, но БЕЗ исходного кода.

Возможности:

Лицензия — свободное распространение, бесплатна для некоммерческого использования.

Описание здесь, там же ссылка для скачивания.

Багрепорты и предложения по улучшению утилиты можно слать мне лично на nzeemin(гав-гав)майл.ру
Re[2]: Создание базы данных MS Access из SQL-скрипта
От: Lyoshik  
Дата: 15.12.04 15:47
Оценка:

не хватает указания файла рабочей группы, соответственно — указания имени-пароля для доступа к базе (для выгрузки скрипта)

N>Возможности:

N>
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.