O SSIS com o COM Interop falha quando é executado como um trabalho programado
-
16-09-2019 - |
Pergunta
Eu tenho um pacote SSIS que utiliza um COM INTEROP (INTEROP.RFCOMAPILIB.DLL) em torno da API COM REightFax (rfComapi.dll).
A montagem da interop foi gac'd para que possamos usá -lo no pacote SSIS
O pacote funciona muito bem na minha máquina local. Mas também funciona bem no servidor, se for iniciado manualmente (o que significa que toda a configuração no servidor está correta)
(fonte: codinghorror.com)
Mas Quando vamos colocar o pacote em um trabalho agendado (no mesmo servidor, conseguimos executá -lo manualmente) e fazer com que o trabalho inicie o pacote, ele falha na linha a seguir.
Dim faxServer As New FaxServerClass()
E com o seguinte erro
Error: 2009-07-16 15:32:01.39
Code: 0x00000002
Source: Send PO Notification Faxes and Mark as Processed
Description: The script threw an exception: Object reference not set to an instance of an object.
End Error
Esta linha é a primeira vez em todo o pacote que uma classe está tentando ser instanciada na montagem do COM Interop.
O que poderia estar acontecendo? Um problema de encadeamento ou algo assim?
Solução
Acontece que a montagem da COM Interop tinha problemas em execução em 64 bits (em que o servidor estava), alternamos para 32 bits e funcionou bem.
Outras dicas
Tentar Método 3 A partir deste artigo de suporte.
Altere a propriedade SSIS Package Protectlevel para EncryptSensitiveWithPassword. Essa configuração usa uma senha para criptografia. Em seguida, você pode modificar a linha de comando do SQL Server Agent Job Etapa para incluir esta senha.