天天看點

ComFailException:can't co-create object.錯誤的猜測的一種解決方法

            這幾天用jacob調用dll的時候一直報ComFailException:can't co-create object的錯誤。而在網上找了一下,也大多是說報了這個錯誤,但是基本沒人說解決辦法。我隻把我報錯的環境以及恰好沒有報錯的情況說一下,可能可以解決你的問題,但是我覺得更大的可能是解決不了。但不妨一試。

我最開始是在虛拟機裡面使用jacob調用dll的,虛拟機裡面沒有報錯,可以運作的很好。後來轉到windows server 2003作業系統,也就是虛拟機外面的壞境的時候,一直報以上的錯誤。怎麼也解決不了。後來就把生成dll以及tlb的那個.net程式拷到虛拟機外面的壞境,再在外面rebuild生成dll以及tlb。然後使用這個生成的dll以及tlb,在regasm注冊系統資料庫。這種方式居然奇迹般的可以運作了,但是後來又有一次不知怎麼的報那個錯,但是又重新用以上方法便不報錯了。

總結,要将生成dll以及tlb的程式拷到java環境在rebuild生成dll和tlb。使用這個dll和tlb注冊系統資料庫。但是我也不能保證一定有效。

而且,網上有人說這種程式運作一段時間之後也會莫名的報can't co-create object的錯誤。由于我還沒有讓我的程式運作一段時間過,還沒有實測這個錯誤,等碰到了再說。

繼續閱讀