Сообщение об ошибке при попытке удалить объекты в Feature Service Python API 1.7 для ArcGIS - PullRequest
1 голос
/ 31 января 2020

Я пытаюсь удалить объекты, используя метод delete_features для объекта FeatureLayer, и получаю следующую ошибку: "This SqlTransaction has completed; it is no longer usable."

Код приведен ниже. Кажется, сообщение об ошибке заполняется в последней строке, где = "OBJECTID> = 0", но я не уверен на 100, если это проблема. К сожалению, я не очень хорош в программировании.

    gis = arcgis.GIS("http://gfcgis.maps.arcgis.com", "UserName", "Password") 
    feature_layer_item = gis.content.search(FeatureLayer, item_type = 'Feature Service')[0]
    flayers = feature_layer_item.layers
    flayer = flayers[0]
    flayer.delete_features(where="OBJECTID >= 0", rollback_on_failure=True)

Любая помощь будет принята с благодарностью.

Майкл

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Приходите, чтобы узнать, что это была простая синтаксическая ошибка, вызывающая проблему. Я не помещал цитаты вокруг 'True' для параметра rollback_on_failure.

0 голосов
/ 31 января 2020

Это звучит как транзакция зомба ie. Обратитесь к администратору базы данных, если есть запрос, скорее всего, хранимая процедура, которая вызывается при выполнении кода. Это сообщение обычно появляется, когда код приложения пытается выполнить фиксацию в БД после того, как SP уже зафиксировал.

Это транзакция SQL, которая уже завершена.

...