Уважаемый Григорий!
вы очень подробно попытались изложить "нормальный процесс многопользовательского редактирования без
сохранения истории изменений".
И, чесно говоря, это на много приятнее чем когда Вы даете просто ссылки на различные источники. Но все же у
меня много вопросов к Вам (или другим модераторам), потому как я хочу добится нормальной работы в ArcGis 8.2
через ArcSDE 8.2.
в теме ERROR!!!!!!!!!!!!!!!!!!!!!!!!help! Вы постарались широко и полно изложить одну из причин по которой может
появится сообщение "unable to save edits", но многое мне до сих пор пор осталось не понятным и поэтому, если это
Вас сильно не затруднит, то, пожалуйста, дайте ответы на мои вопросы.
Вы пишите:" не давай те права dbo sde-пользователям, чтобы SQL-сервер не создавал все объекты в базе с
префиксом dbo."
это мне понятно если не стоит значит не стоит. я захожу на сервер в раздел Security выбираю logins правой
кнопкой на логине и выбираюnew login. Хоть это и не рекомендуется (потому как данные передаются в открытом
виде)но я всеже использую SQL server autentification и задаю имя пользователя и пароль. на закладке server roles
я естественно ничего не ставлю так как не хочу чтобы пользователь обладал админскими привелегиями. На
закладке database access выбираю доступ только к одной базе, где находятся данные (БД SDE) и создаю
пользователя подтвердив пароль.
после этого я правой кнопкой на базе SDE и на закладке permission добавленому пользователю ставлю галочки
под разделами create table, createview, createSP, create function
и после этого пользователю который по дефолту обладает правами public я еще ему присваиваю права dbo_owner,
потому как другие варианты
(если не считать присвоение прав админа) не дают возможность редактировать слои.
пожалуйста подскажите что я делал не так???
Вы говорите:" Для каждого login SDE создает свой отдельный лог файл, в котором хранятся выборки объектов из
SDE. Если два пользователя входят под одним login, то могут проблемы."
Проверяю таблицы: Захожу в базу через ЕМ захожу в tables и нахожу SDE logfile_data и SDE_logfiles в колонке
owner стоит имя пользователя. Для каждого заведенного пользователя есть по 2 файла (SDE logfile_data и
SDE_logfiles) можно сделать вывод что у меня на каждого пользователя свой лог файл, но читаем дальше. Вы
говорите:"Когда вы регистрируете данные как версионные, то для каждого слоя в базе создается 2 таблицы Аххх и
Dххх."
проверяю действительно есть у меня таблички а34, а37, а38 и с такими же номерами только буквой d но есть одна
проблема, напротив этих таблиц стоит владелец dbo и нет других таких таблиц где владельцем бы был
пользователь. так ли это должно быть??? или это уже связано с тем что я каждому пользователю присвоил права
dbo и "создает все объекты в базе с префиксом dbo". пожалуйста объясните...
читаю дальше...
Вы говорите:"Все изменения, выполненные пользователями для данного слоя попадают в эти две таблицы (Ахх и
Dхх). Туда же и записывается состояние STATE_ID, которое связано с версией".
эта фраза меня сильно заинтересовала потому как я получаю сообщение "unable to save edits" следующим
сообщением может быть что то на подобии ошибка STATE_ID=21769 (например). тогда у меня вопрос что такое это
STATE_ID??? и может если я перелопачу все таблицы Ахх и Dхх и тупо поудаляю все строки где STATE_ID=21769 то
может я смогу сохранится в таком случае.... ведь легче потом дорисовать эти объекты чем не сохранить целую
пачку данных??? Хотя может это не правильно может удалив строку из таблицы я тем самым нарушу целостность
всей базы???? опять посоветуйте как правильно поступить????
и на последок что значит "выполянть компрессию данных" пожалуйста расскажите что это такое, и как это делать.
пожалуйста, если Вас не затруднит, постарайтесь ответить на мои вопросы подробнее, потому как все мы учимся...