Win Server 2003 32 ビットで実行されているこのアプリケーションを Win server 2008 64 ビット環境に移行するときに、ASP.NET アプリケーションが Excel ファイルをインポートできません。このバグを修正するには?Win Server 2003 32 ビットでは正常に動作するためです。
表示されるエラー レポート: *System.Runtime.InteropServices.COMException (0x800A03EC): HRESULT からの例外: Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password、Object WriteResPassword、Object IgnoreReadOnlyRecommended、Object Origin、Object Delimiter、Object Editable、Object Notify、Object Converter、Object AddToMru、Object Local、Object CorruptLoad) (C:\inetpub\wwwroot\ERMApproval\Administrator\ の Admin_ImportRisk.CreateTempTable()) ImportRisk.aspx.vb: 66 行目。*
私のアプリケーションの 66 行目のコードは次のとおりです: oBooks.Open(Server.MapPath("~/App_Data/Risk.xls"))
私はいくつかのシナリオを試しました:
ネットワーク サービス ユーザーを DCOM 構成の Microsoft Excel アプリケーションに追加し、以前は同じだったアプリケーション プールの ID を設定しました。
DCOM 構成のセキュリティで、すべての種類のユーザーを Microsoft Excel アプリケーションとマイ コンピュータに追加しました。また、アプリケーションのフォルダーにも多くの種類のユーザーを追加しました。
corflags.exe を使用して、32 ビット アプリケーションを強制的に 64 ビット環境で実行する
regsvr32.exe を使用して、Microsoft.Office.Interop.Excel.dll ファイルを Windows 32 ビット コンポーネント サービスに登録しました。
rundll32.exe を使用して、32 ビット環境で 32 ビットの Microsoft.Office.Interop.Excel.dll ファイルを実行しました。
しかし、結果は同じです。お役に立てれば大変光栄です^^。よろしく、 -イマヌエル-