Erro ao adicionar campo 'DATAREVERIFICACAO': ERROR 000852: Não é possível adicionar o campo DATAREVERIFICACAO para GISADMIN.Survey. Ocorreu um erro ao executar (AddField). Esse erro é obtido através da execução desse código no notebook do ArcGIS Pro 3.0.0 versão 2022: #Código forms Import arcpy. #colocar caminhos das camadas Camada_origem = "r"C:\Users\nicolasoliveira\Documents\ArcGIS\Projects\form" Camada_destino = "r"C:\Users\nicolasoliveira\Documents\ArcGIS\Projects\form" Define copiar_atributos(): """ Copia todos os atributos e a geometria da camada de origem para a camada de destino, excluindo o campo 'ID'. Cria os campos ausentes na camada de destino, caso necessário. """ try: Verificar se a camada de destino existe. if arcpy.Exists(camada_destino): # Iniciar uma sessão de edição. Workspace = arcpy.Describe(camada_destino).path With arcpy.da.Editor(workspace) as editor: print("Sessão de edição iniciada.") #obter campos da camada de origem Campos_origem = [field.name for field in arcpy.ListFields(camada_origem)] #Obter campos da camada de destino. Campos_destino = [field.name for field in arcpy.ListFields(camada_destino)] Excluir o campo 'ID' e outros campos gerenciados pelo sistema. Campos_excluir = ['ID', 'OBJECTID', 'FID', 'GlobalID', 'Shape', 'Shape_Length', 'Shape_Area'] Campos_origem = [campo for campo in campos_origem if campo not in campos_excluir] #verificar campos ausentes e criar na camada de destino. Campos_faltantes = [campo for campo in campos_origem if campo not in campos_destino] for campo in campos_faltantes: Campo_obj = arcpy.ListFields(camada_origem, campo)[0] arcpy.AddField_management(camada_destino, campo, campo_obj.type) print(f"Campo '{campo}' adicionado à camada de destino.") #apagar os registros existentes na camada de destino. arcpy.management.DeleteRows(camada_destino) print(f"Registros existentes na camada de destino '{camada_destino}' foram apagados.") # Usar um cursor de leitura na camada de origem. With arcpy.da.SearchCursor(camada_origem, campos_origem) as cursor_origem: # Usar um cursor de inserção na camada de destino. With arcpy.da.InsertCursor(camada_destino, campos_origem) as cursor_destino: for linha in cursor_origem: Cursor_destino.insertRow(linha) print(f"Registro copiado: {linha}") print(f"Todos os atributos da camada '{camada_origem}' foram copiados para '{camada_destino}', excluindo o campo 'ID'.") Else: print(f"A camada de destino '{camada_destino}' não existe.") Except Exception as e: print(f"Erro ao copiar atributos: {e}") if __name__ == "__main__": Copiar_atributos() Mesmo com as permissões já liberadas pelo ADM do banco, o código não consegue fazer essa operação nas camadas quando estão no banco, porém quando essa camada é movida para a máquina local, o código funciona. Foram inúmeras tentativas em relação à autorização, até com o perfil do ADM foi efetuada a execução do código e mesmo assim não funcionou. Já pesquisei sobre o erro tanto pelo GPT e outras IAS como também em outros sites e blogs, e o que encontro é falando que o erro é problema de permissão, porém a camada já está com todas as autorizações. Continue reading...