1

我有一个 SSIS 包,它利用 RightFax 的 COM API (rfcomapi.dll) 周围的 COM 互操作 (Interop.RFCOMAPILib.dll)。

Interop 程序集已经过 GAC,因此我们可以在 SSIS 包中使用它

该软件包在我的本地机器上运行良好。但是如果手动启动它在服务器上也可以正常工作(意味着服务器上的所有配置都是正确的)


(来源:codinghorror.com

但是,当我们将包放在计划的作业上(在我们能够手动运行它的同一台服务器上)并让作业启动包时,它在下一行失败。

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 互操作程序集实例化一个类。

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

4

2 回答 2

1

事实证明,COM 互操作程序集在 64 位(服务器已打开)中运行时出现问题,我们将其切换到 32 位并且运行良好。

于 2009-07-22T16:20:01.133 回答
0

尝试此支持文章中的方法 3

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

于 2009-07-17T00:17:28.300 回答