ERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!! help!

0 голосов
спросил 03 Ноя, 04 от Гость (210,080 баллов) в категории Программные продукты Esri

При работе в SDE вновь созданная база (в которой лежат данные), редактировании начато на 2-х машинах при сохранении на обной из машин  система выдает :

"Unadele to save edits.

Underlying DBMS error (Microsoft OLE DB Provider for SQL Server: Deffered prepare coln not be completed.][oblast.obl.Admin_RO][STATE_ID=5782]

The version has been redefined to reference a new database state. [sde.DEFAULT]

Object variable or With block variabl not set."

 

Или так:

 

"Unable to save edits.

Unable to reconcile: the turget vertion is currently being reconciled against. [sde.DEFAULT]

The version has been redefined to reference a new database state. [sde.DEFAULT]

Object variable or With block variabl not set."

 

И в 1 и во 2 случае не дает сохранить изменения пользователю, который получил такое сообщение! image

1 Ответ

0 голосов
ответил 28 Ноя, 04 от Grigoriy (127,020 баллов)
Скорее всего, проблема в том, что Вы пытаетесь редактировать данные под одним и тем же login'ом. Хотя причин может быть несколько. Заводите отдельных пользователей в базе данных SQL для каждого оператора. Никогда не давайте права dbo sde-пользователям. В этом случае, SQL-сервер будет создавать все объекты в базе с префиксом dbo, а не с префиксом login. Для каждого login SDE создаёт свой отдельный log-файл, в котором хранятся промежуточные выборки объектов из sde. Если 2 пользователя входят под одним login, то могут быть проблемы. Особенно это существенно, для SDE 8.x. Хотя и для SDE 9.0 ESRI рекомендует заводить отдельный login для каждого оператора. Когда Вы регистрируете данные как версионные, то для каждого слоя в базе создаются 2 таблицы Axxx и Dxxx. Одна для добавленных, другая для удаленных объектов. Все изменения, выполняемые всеми пользователями для данного слоя, попадают в эти две таблицы. Туда же записывается текущее состояние STATE_ID, которое связано с версией. Только в момент выполнения компрессии объекты физически переносятся в таблицу самого слоя и удаляются из таблиц A и D. При этом переносятся только те объекты, которые связаны с версией default. Т.е. сначала для всех версий нужно выполнить post в default. Права CREATE TABLE и CREATE SP даются в базе только пользователям, которые будут создавать новые таблицы или классы объектов, т.е. будут владельцами данных. А для выдачи прав операторам к конкретным таблицам в ArcCatalog, владелец данных должен правой кнопкой мыши на наборе данных вызвать Priveges... и установить доступ конкретного пользователя к этому набору. Каждому оператору, который будет редактировать данные выдать права на редактирование требуемых данных через ArcCatalog.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> Каждый оператор перед редактированием должен создавать свою версию данных и редактировать её. В конце дня (или чаще) выполнять reconcile и post своей версии в default. В конце дня или в конце недели после post удалять свою версию. Администратор в конце недели (или чаще) должен выполнять компрессию базы. Желательно также перед этим заставить всех операторов выполнить post своих версий и удалить все дочерние от default версии. Это нормальный процесс многопользовательского редактирования без хранения истории изменений.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...