我尝试在FeatureLayer对象上使用delete_features方法删除要素,但一直收到以下错误:"This SqlTransaction has completed; it is no longer usable."
代码如下。错误消息似乎填充在最后一行where="OBJECTID >=0“中,但我不能百分百确定这是否是问题所在。不幸的是,我不太擅长编程。
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)
任何帮助都将不胜感激。
迈克尔
发布于 2020-01-31 14:38:55
这听起来像是僵尸交易。如果有一个查询,很可能是在代码运行时调用的存储过程,请与您的DBA进行核对。在SP已提交之后,当应用程序代码尝试在数据库上执行提交时,通常会显示此消息。
这就是已经完成的SQL事务。
发布于 2020-02-03 14:47:51
来找出,这是一个简单的语法错误导致的问题。我没有在rollback_on_failure参数的'True‘两边加上引号。
https://stackoverflow.com/questions/60005826
复制