none
Agendamento RRS feed

  • Pergunta

  • Estou com um problema, eu tenho uma Procedure que faz uns Joins e concatena esses dados em  uma tabela temporaria e gera um arquivo e, quando agendo essa Procedure para gerar em dado e horario fixo e salvar em um FTP no servidor ele me retorna o seguinte erro:

    "Job: EMISSAO erro: System.IndexOutOfRangeException: Linha
       at System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName)
       at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
       at ConectaSolutions.EDI.ExecutorDeJobs.CriarArquivo(AdoDataReader dr, Steve job)
       at ConectaSolutions.EDI.ExecutorDeJobs.ExecutarRotinaConfiguradaNoBanco(Steve steve)"

    Quando gero na mão, dou um exec, ela funciona normalmente.

    Alguem pode me ajudar ?


    segunda-feira, 16 de dezembro de 2013 12:42

Respostas

  • Olá Vitor...

    O usuário do serviço do SQLServer tem permissões na pasta que é gerado o arquivo?

    À disposição...

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    segunda-feira, 16 de dezembro de 2013 22:23
  • Vitor,

    Vou na mesma linha de raciocínio do Roberson, normalmente este tipo de falha em geração de arquivo por parte do SQL Server, esta relacionado com falta de permissão.

    Qual é a conta de usuário que esta configurada para executar este job?

    Faça um teste, tente se conectar com a conta de usuário que esta sendo utilizada no job, em uma query e tente executar a procedure manualmente.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    sexta-feira, 20 de dezembro de 2013 15:40

Todas as Respostas

  • Boa tarde,

    Tive um problema parecido, mas não com a mesma mensagem, tinha uma procedure que executava normalmente, porém quando colocava em um job ela não rodava, descobri que o problema era causado porque o idioma do usuário que executava a proc era diferente do idioma que estava configurado para o sql agent, resolvi definindo o idioma que a proc ia rodar, que no caso era o que estava configurado para o usuário:  Set Language 'Brazilian'.

    Sugiro que você verifique as configurações do usuário e do sql agent pra ver se alguma está causando este problema.

    segunda-feira, 16 de dezembro de 2013 14:36
  • Olá Vitor...

    O usuário do serviço do SQLServer tem permissões na pasta que é gerado o arquivo?

    À disposição...

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    segunda-feira, 16 de dezembro de 2013 22:23
  • Vitor,

    Vou na mesma linha de raciocínio do Roberson, normalmente este tipo de falha em geração de arquivo por parte do SQL Server, esta relacionado com falta de permissão.

    Qual é a conta de usuário que esta configurada para executar este job?

    Faça um teste, tente se conectar com a conta de usuário que esta sendo utilizada no job, em uma query e tente executar a procedure manualmente.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    sexta-feira, 20 de dezembro de 2013 15:40