1

この問題は、Excel プロセスの最大数での以前の質問に関連していますか? 、しかし異なる動作をします。

つまり、起動時に多数の Excel プロセスを開く COM+ コンポーネントがあります。ハンドルはリストに追加されるため、スコープ外に出たりガベージ コレクトされたりすることはありません。

このコンポーネントをローカルで実行すると (Windows 7 64 ビット、12 Gb のメモリ)、問題なく起動し、30 個の Excel プロセスを問題なく開きます。

このコンポーネントを (仮想) サーバー (Windows サーバー 2003 R2 SP2 64 ビット、4 Gb) で実行すると、最初の 21 個の Excel プロセスは正しく開始されますが、残りの 9 個のプロセスは作成されません。イベント ログに、次のエラーが 9 回表示されます。

 Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005.

そのため、最後の 9 つの Excel プロセスを作成すると例外が発生し、21 の Excel プロセスの制限に達したようです。

さらに別のサーバー (Windows Server 2003 SP 2、1 Gb RAM) で試してみると、22 個の Excel プロセスが作成され、8 個が同じ例外で失敗します。

これらのサーバーで Excel プロセスの作成が失敗する原因は何ですか?

編集: スタート メニューを使用して手動で開くと、30 個の Excel インスタンスを問題なく開くことができます。

何か案は?

ありがとう、L

4

1 に答える 1

0

技術的には、実行していることはまったくサポートされていません: http ://support.microsoft.com/kb/257757

Officeは不安定な動作を示す可能性があるため、Microsoftは現在、無人の非対話型クライアントアプリケーションまたはコンポーネント(ASP、ASP.NET、DCOM、およびNTサービスを含む)からのMicrosoftOfficeアプリケーションの自動化を推奨していません。または、Officeがこの環境で実行されている場合はデッドロック。

とは言うものの、サーバー間のわずかな不一致のために、私はあなたが何らかのリソースの競合/制限に直面していると信じており、Excelに固有のものではありません。サーバー上のメモリの量が限られているため、メモリが不足しているか、メモリが断片化している可能性があります。

于 2012-06-25T15:07:32.987 に答える