我開發了一個C#程序,它從SQL Server數據庫中提取數據,然後生成包含數據的Word文檔。我已將該程序設置爲在Windows Server 2003框中作爲SSIS作業的一部分運行。該程序以用戶SQLSVC運行,該用戶不具有管理權限。當我以SQLSVC身份登錄並運行該程序時,它會正確執行。然而,當程序被作爲SSIS作業自動運行它凍結在下面的代碼行辦公自動化的DCOM失敗
Microsoft.Office.Interop.Word.Application word =
new Microsoft.Office.Interop.Word.Application();
當我強制殺死過程中,產生以下的錯誤消息。
Error Message: System.Runtime.InteropServices.COMException (0x80080005):
Retrieving the COM class factory for component
with CLSID {000209FF-0000-0000-C000-000000000046}
failed due to the following error: 80080005.
at IepGlance.Program.CreateNewIepFiles(Dictionary`2
iepDictionary, EasyIepDataContext dbContext)
at IepGlance.Program.Main(String[] args)
據我可以找出問題是與DCOM權限。我用dcomcnfg將所有可能的DCOM權限添加到用戶SQLSVC,但這沒有幫助。還有其他可能的解決方案嗎?
感謝周杰倫,這很有幫助 – 2009-11-06 19:14:29