2009-07-17 104 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