Mais

RuntimeError: O campo não é editável ao usar InsertCursor no geodatabase ArcSDE com ArcFM instalado?

RuntimeError: O campo não é editável ao usar InsertCursor no geodatabase ArcSDE com ArcFM instalado?


Estamos executando o ArcGIS Desktop 10.1 SP1 e também temos o ArcFM instalado.

Eu tenho este código simples:

workspace = "C:  my.sde" arcpy.env.workspace = workspace edit = arcpy.da.Editor (arcpy.env.workspace) edit.startEditing (False, True) edit.startOperation () com arcpy.da. InsertCursor ("C:  my.sde  dataset  feature", ("Comentários")) as icur: try: icur.insertRow (["Test comment"]) exceto Exception as e: print e edit.stopOperation () edit.stopEditing (True)

Recebo o (s) erro (s) muito específico (s):

SystemError: retorno de erro sem conjunto de exceção

Tentei o mesmo código em uma classe de recurso diferente no mesmo geodatabase e recebo:

RuntimeError: o campo não é editável.

Mas não consigo pensar em nenhuma razão para que não seja editável. Posso editar os dados no ArcMap perfeitamente. Alguma ideia do que pode estar errado?


Tinha a ver com ArcFM, que eu tinha a sensação de que era o problema.

O script precisa fazer o checkout de uma licença.

Eles têm um script de amostra disponível:

How-To - Trabalhar com recursos ArcFM em Python

Solução

Como ao trabalhar com recursos ArcFM em VBA, ArcGIS for Desktop ou em qualquer outro lugar, uma licença ArcFM é necessária para editar os recursos ...


Comprimentos de campo

Comprimento insuficiente em um campo pode causar isso. Especialmente ao usar cursores para copiar valores de uma classe de recurso para outra, pode ser complicado ver quais campos podem ser curtos.

Aqui está um tópico útil do Geonet sobre o problema: https://community.esri.com/thread/91717


Assista o vídeo: الفرق بين ArcMap u0026 ArcCatalog in ArcGIS