Несколько файлов РГ, коды юзеров

wertx
Дата: 23.11.2006 19:01:25
Используем БД, написанные проглашенным програмером. Из-за лени писал свои поделочки тоже под его *.mdw. Но как оказалось, с его РГ я не могу создать файл *.mde своей поделки. Вернее, файл создается, но при запуске идет ссылка на MSysModules2 и аут. Переделывать всё своё под свой новый файл РГ с тремя уровнями допусков пользователей - неделя геморроя. Прочитал в справке, что если в новый РГ добавить юзеров из старого с такими же именами и кодами, то будет полная совместимость. Программер уперся бараном и коды выдавать не хочет, непонятно пАчиму. Есть возможность их считать как-нить?
Karfaqen
Дата: 23.11.2006 19:29:18
wertx
Из-за лени писал свои поделочки тоже под его *.mdw. Переделывать всё своё под свой новый файл РГ с тремя уровнями допусков пользователей - неделя геморроя.
Так уж и неделя? Так много юзеров? И что, вы для своих поделочек так тщательно раздавали доступ юзерам приглашенного програмера?
rok
Дата: 23.11.2006 19:34:43
Karfaqen
wertx
Из-за лени писал свои поделочки тоже под его *.mdw. Переделывать всё своё под свой новый файл РГ с тремя уровнями допусков пользователей - неделя геморроя.
Так уж и неделя? Так много юзеров? И что, вы для своих поделочек так тщательно раздавали доступ юзерам приглашенного програмера?

и если в дальнейшем Вы хотите чтобы БД была "ваша" (то бишь в дальнейшем делать сней всё что взбредёт в голову) ее владельцем должны быть Вы,а это возможно только в новой РГ.
wertx
Дата: 23.11.2006 20:28:11
[/quot]Так уж и неделя? Так много юзеров? И что, вы для своих поделочек так тщательно раздавали доступ юзерам приглашенного програмера?[/quot]
чота в запутки мы пошли.
Я не спрашиваю мнения о правильности построения работы с информацией у себя в отделе.

Задача: сделать вместо файла РГ1 - файл РГ2, но перенести туда юзеров 11, 44 и 55 с их КОДАМИ из РГ1, чтобы не париться с переносом содержимого из трёх отельных баз, с раздачей прав по куче объектов и т.п. ( а это неизбежные ошибки, плюс к тому не единственные мои обязанности).

Вопрос: чем можно и можно ли ваще вскрыть\прочитать эти коды, чтобы я корректно с их учетом создал СВОЙ файл РГ2.
Пока единственное - чего я добился, это узнал логин owner'a и его PID
Ёжик`
Дата: 23.11.2006 21:00:42
Как вариант - не парится с кодами, а в цикле пройти по разрешениям на объекты в старой базе и проставить их в новой.
Karfaqen
Дата: 23.11.2006 21:37:12
wertx
чота в запутки мы пошли.
Я не спрашиваю мнения о правильности построения работы с информацией у себя в отделе.
Вы не волнуйтесь так. Меня вовсе не интересует ваша правильность в этом смысле. Это был обычный наводящий вопрос, чтобы прояснить, почему требуется аж неделя для простого копирования прав.

Пишется процедурка, которая соберет права групп и юзеров в таблицу и воссоздаст всю картину доступа после переключения на свежесозданную БД РГ. Естесственно, при этом все будет без ошибок (и откорячек со ссылкой на головную боль ;)

Насчет вашего "конкретного" вопроса - в скрижалях официально заявлено, что возможности для этого нет:
Справка MSA
Для воссоздания учетной записи необходимо точное совпадение имени и кода с исходными. Если имя или код записи потеряны или забыты, извлечь их из базы данных невозможно.
Что касается нелегальных средств, на данном форуме они не обсуждаются.
wertx
Дата: 23.11.2006 21:45:21
Ну если по простому, правильному и легальному - то так наверно и надо, Уважаемые (!). Но как только я начал это делать - я сильно загрустил глядя в перспективу, потому и задался вопросом об альтернативных способах. Иначе я бы сюда и не полез с вопросами - охота флудить! Открыл справку и наслаждайся! Если тупо и прямо - мне переделывать кучу всего, кроме разрешений на объекты - это ещё пути к таблицам пересматривать (потому что если уж влезать в это, то лучше и структуру оптимизировать по случаю), оболочки всм менять... А так бы на серваке файл РГ поменял бы - и все довольны.
В общем - если есть ответ на поставленный вопрос - буду СИЛЬНО признателен.
wertx
Дата: 23.11.2006 21:51:37
2 karfagen
Сорри.
Понятно. Но при этом, как я понимаю, создания полных дубликатов всех объектов базы данных в новой РГ не избежать? Это можно как-то автоматизировать?
И что за "процедурка" асилит табличку прав доступа? ;)
Karfaqen
Дата: 23.11.2006 23:48:52
wertx
как я понимаю, создания полных дубликатов всех объектов базы данных в новой РГ не избежать? Это можно как-то автоматизировать?
Да. Чтобы навеки отвязаться от пут прежней РГ, лучше создать новый файл РГ, подключиться к нему, создать новый файл MDB и импортировать в него все объекты из старой базы (если что - дать доступ админу для этого на время импорта). Но это разовая операция, ее можно сделать и руками, тем более, что в MSA есть для этого готовый диалог, где импортировать можно все сразу, а не по одному объекту.

wertx
И что за "процедурка" асилит табличку прав доступа?
Да обычная процедура на VB. Ходит в цикле по Containers/Documents и записывет в табличку их (ненулевые) Permissions для всех Users и Groups. Это делается в старой базе со старой РГ. А потом, после импорта (и создания в новой РГ аналогичного набора юзеров и групп со старыми именами, но уже новыми PID'ами) процедура идет уже в цикле по записям этой таблицы и восстанавливает все права в том виде как они были в старой бд.

А если хочется, сюда же можно добавить сбор и опционное создание в новой РГ всех бывших групп и юзеров с новыми (к примеру, регулярными) PID'ами. Вобщем, вся песенка в сотню строк на VB всяко уложится (если восторженными комментариями не злоупотреблять ;)

Успехов.