ArcSDE vs. MDB - присоединятесь!

0 голосов
спросил 14 Май, 07 от Opal (360 баллов) в категории Программные продукты Esri
Добрый день Уважаемые Дамы и Господа! Вашему вниманию представляется следующий глюк:
СУБД - Microsoft SQL, с увязкой ArcSDE 9.2. При импорте данный из МДБ формата происходит искажение данных в связанных таблицах, а именно - данные в таблицах "сбиваются" по нумерации с данными в Feature Class'e по сравнению с данными в исходнике (МДБ), в результате чего при идентификации Feature в Feature Class'e происходит некорректное отображение семантических данных. Попросту они не те, что должны быть! Боримся с этим приколом уже достаточно долго, ни хрена не получается, баг автоматически не лечится... рэинсталл Сиквела и СДЕ - не помогает; создание новой БД в СДЕ - аналогично. Структуры таблиц идентичные. Пока вижу два варианта развития событий - либо скрипт по переводу из одной таблицы вдругую со строгим соблюдением ключевых полей в фича классе и линкованных таблицах аналогично исходной МДБ - что есть бред, либо колбасить все лапками покорных юзеров - что есть бред по определению (лениво больше 2500 объектов перебирать заново)! Какие будут соображения?

5 Ответы

0 голосов
ответил 15 Май, 07 от Grigoriy (127,020 баллов)
На самом деле это не глюк - это фича image
SDE сам управляет ObjectID. Он помнит самый последний использованный идентификатор объекта в классе. И при попытке догрузить или добавить новые объекты получают ид. начиная с этого числа. Это реализовано давно для управления открепленным редактированием и репликации объектов.
Если Вам необходимо сохранять свои связи между классами, то надо использовать свои собственные ключевые поля и управлять ими.
Если нужно перенести то, что уже создано в персональной базе, то это можно сделать, но не операцией загрузки в существующий класс, а копированием классов в пустую базу SDE (copy-paste). При этом сохранятся и связи между объектами.
0 голосов
ответил 16 Май, 07 от Opal (360 баллов)

failed to paste ....
Invalid SQL syntax [Microsoft OLE DB Provider for Microsoft Server): Statements could not  be prepared.]

Почему так получается?
0 голосов
ответил 17 Май, 07 от Dorofeev1 (6,460 баллов)
Создай новую базу СДЕ, там создай фич-классы пустые с нужной атрибутивкой, загрузи в них данные через load data. А потом уде создавай Relationship Class`es image
0 голосов
ответил 18 Май, 07 от Grigoriy (127,020 баллов)
Скорее всего или в названиях таблиц (классов), или в названиях полей в таблицах используются ключевые слова SQL-сервера.
0 голосов
ответил 21 Май, 07 от Opal (360 баллов)
Еще один ламерский вопрос: При попытке редактирования фича класса в БД юзеру говорится: failed to edit selected object. Insufficient permissions, при этом привилегии средствами Арккаталога на редактрование датасэта и таблиц даны... Единственное как лечится - напрямую из SQLа дать Permissions  to Delete, Insert, Update... relation class. В чем фича, почему пермишнз не распространяются на релейшншип классы?
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...