Breadcrumbs

Falha no download automático do Entry document, como resolver?

Introdução

Estou com um problema no download automatico pelo Entry Document:

Nos logs de entrada está gerando o erro abaixo:

[57]; DEBUG; 2016-06-01 09:51:12.353; [GerenciadorFalhasDeBanco]; Abrindo conexão…;
[57]; DEBUG; 2016-06-01 09:51:12.353; [GerenciadorFalhasDeBanco]; Conexão aberta com sucesso!;
[57]; DEBUG; 2016-06-01 09:51:12.353; [GerenciadorFalhasDeBanco]; Executando comandos…;
[57]; DEBUG; 2016-06-01 09:51:12.384; [GerenciadorFalhasDeBanco]; Comandos executados com sucesso!;
[57]; DEBUG; 2016-06-01 09:51:12.384; [GerenciadorFalhasDeBanco]; Comunicação restabelecida!;
[TP_E1]; ERROR; 2016-06-01 09:51:17.485; [GerenciadorFalhasDeBanco]; Ocorreu um erro de banco de dados na execução do seguinte processo:
Nome: NFeDownloadBatch
ProcessID: 0
JobName:
JobID: -1
Arquivo: N/A
Comando executado: DELETE FROM TBDOWNLOADITEM WHERE DOWNLOADITEMID IN (506532,506531)

Detalhes do erro: MENSAGEM: ORA-02292: restrição de integridade (NDD_CONNECTOR.FK_TBDOWNLOADITEMLOT_1) violada - registro filho localizado

SOURCE: System.Data.OracleClient
STACKTRACE: em System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
em System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
em System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
em System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
em NDDigital.Core.DAL.DataBaseHelper.ExecuteNonQuery(IDbConnection dbconnection, IDbTransaction transaction, CommandType commandType, String commandText, DataBaseParameters parameters, Boolean returnIdentity, Int32 commandTimeout)

Ponto do código: em NDDigital.Core.DAL.DataBaseHelper.ExecuteNonQuery(IDbConnection dbconnection, IDbTransaction transaction, CommandType commandType, String commandText, DataBaseParameters parameters, Boolean returnIdentity, Int32 commandTimeout)
em NDDigital.Core.DAL.DataBaseHelper.ExecuteNonQuery(IDbConnection dbconnection, IDbTransaction transaction, CommandType commandType, String commandText, Boolean returnIdentity)
em NDDigital.eForms.Services.DAO.Core.AbstractDownloadDAOImpl.CleanDownloadTables(DownloadBatchVO batch)
em NDDigital.eForms.Services.Business.Download.DownloadServiceImpl.CleanDownloadTables(DownloadBatchVO batch)
em NDDigital.eForms.Services.Business.Processor.Impl.NFeDownloadBatchProcessor.DownloadNFe()
em NDDigital.eForms.Services.Business.Processor.Impl.NFeDownloadBatchProcessor.Process();
[TP_E1]; DEBUG; 2016-06-01 09:51:17.485; [Gerenciamento]; Aguardando a comunicação com o banco de dados ser restabelecida para continuar o processamento.;

Passo a passo

Os serviços da aplicação e-Forms estão competindo com outros serviços de outra máquina remota.

Ex: Dois servidores e-Forms com IP distintos estão apontando para a mesma base de dados, ambos com os serviços ativos.

Para a correção, um dos servidores deve ser desativado.

Outras informações

Fonte: Petterson Grahl Ferreira