2009-07-17 71 views
1

我有一个SSIS包,它利用RightFax的COM API(rfcomapi.dll)周围的COM Interop(Interop.RFCOMAPILib.dll)。SSIS与COM Interop在作为预定作业运行时失败

互操作的组件已经GAC'd这样我们就可以SSIS包

包运行我的本地机器就好内使用。但是,这也只是正常的服务器上,如果它是手动启动(即所有配置的服务器上是正确的)

http://www.codinghorror.com/blog/images/works-on-my-machine-starburst.png

但是我们去的时候把包装上的计划作业(在我们可以手动运行它的同一台服务器上),然后让作业在下一行启动失败的程序包。

Dim faxServer As New FaxServerClass() 

,并用下面的错误

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 

这条线路是在一个类试图从COM互组件实例化的整个包的第一次。

可能会发生什么?线程问题还是什么?

+2

+1:只是为了我机器上的作品召唤出来......如果我每次想要摆脱这种困境,我都会得到一分钱..... – RSolberg 2009-07-17 00:07:35

回答

1

事实证明,COM Interop程序集在运行64位(服务器)时出现了问题,我们将它切换到32位并运行正常。

0

尝试从这篇支持文章Method 3

更改SSIS包 ProtectionLevel属性来 EncryptSensitiveWithPassword。此 设置使用密码为 加密。然后,您可以修改SQL Server代理作业步骤命令行 以包含此密码。

+1

我们的软件包全部使用EncryptAllWithPassword – 2009-07-17 01:40:46