我正在尝试使用FeatureLayer对象上的delete_features方法删除要素,并且不断出现以下错误:"This SqlTransaction has completed; it is no longer usable."
代码在下面。错误消息似乎填充在最后一行where =“ 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)
任何帮助将不胜感激。
迈克尔
答案 0 :(得分:0)
这听起来像是僵尸交易。与DBA一起检查是否有查询,最有可能是存储过程,该查询在您的代码运行时被调用。当SP已经提交之后,当应用程序代码尝试在DB上进行提交时,通常会显示此消息。
那是已经完成的SQL事务。
答案 1 :(得分:0)
来找出原因,这是导致问题的简单语法错误。对于rollback_on_failure参数,我没有在'True'周围加上引号。