ArcGIS SQL Server ArcSDE: управление версиями и столбец идентификации

[Я спрашиваю здесь вместо GIS Stackexchange, потому что это может быть больше проблема SQL Server?]

У меня есть соединение SQL Server ArcSDE, в которое данные вставляются пакетно с помощью некоторых сценариев. В настоящее время каждый раз, когда появляется новая строка данных, столбец «OBJECTID», установленный на INT, и столбец Identity увеличивается на номер 1. Пока все хорошо. За исключением того, что мне нужно включить «версию» для таблицы.

Итак, я следую этому: http://resources.arcgis.com/en/help/main/10.1/index.html#//003n000000v3000000

но получаю ошибки, потому что ArcGIS жалуется на столбец Identity, по: http://support.esri.com/cn/knowledgebase/techarticles/detail/40329; и когда я удаляю атрибут Identity для столбца, значение столбца становится NULL - не очень хорошо.

Итак, в моем сценарии, как я могу увеличить значение OBJECTID на 1 число как автоинкремент? Я полагал, я могу просто вставить некоторый GUID в поле «OBJECTID» через скрипт? Кроме того, если я буду следовать маршруту GUID, то я не уверен, смогу ли время от времени добавлять строки вручную через ArcGIS Desktop?

Спасибо!

Обновление 1 Итак, я изменил поле OBJECTID на поле 'uniqueidentifier' со значением GUID по умолчанию, и теперь я могу включить «управление версиями» с помощью ArcGIS Desktop. Тем не менее, ArcGIS ожидает, что GUID будет типом данных INT, так что не стоит?


person IrfanClemson    schedule 09.07.2015    source источник


Ответы (1)


В свете моего «обновления 1» в приведенном выше вопросе мне удалось позаботиться об этом, вставив значение INT для OBJECTID во время пакетной вставки следующим образом: Как вставить ключ auto_increment в таблицу SQL Server

поэтому по приведенной выше ссылке я закончил:

INSERT INTO bo.TABLE (primary_key, field1, fiels2) VALUES ((SELECT ISNULL(MAX(id) + 1, 0) FROM bo.Table), value1, value2)

ЗА ИСКЛЮЧЕНИЕМ, в моем случае IDENTITY остается не «ON» вообще ни в базе данных, ни, в отличие от приведенной выше ссылки, мне не нужно было включать/выключать Identity во время пакетных вставок; Работает по некоторым причинам в любом случае!

person IrfanClemson    schedule 09.07.2015