Excel .xls ファイルをファイル システムにアップロードし、オブジェクト インスタンスで .open() メソッドを使用して oledbconnection オブジェクトでファイルを開き、データをデータベースに保存するアプリケーションがあります。ファイル システムへのファイルのアップロードと書き込みは正常に機能しますが、運用サーバーでのみファイルを開こうとするとエラーが発生します。アプリケーションは、他の 2 つのサーバー (開発サーバーとテスト サーバー) で正常に動作します。
次のコードは、Exception.Message で「Unspecified Error」を生成します。
見積もり:
System.Data.OleDb.OleDbConnection x = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + location + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
try
{
x.Open();
}
catch (Exception exp)
{
string errorEmailBody = " OpenExcelSpreadSheet() in Utilities.cs. " + exp.Message;
Utilities.SendErrorEmail(errorEmailBody);
}
:引用終了
サーバーの c:\\temp および c:\Documents and Settings\\aspnet\local settings\temp フォルダーは両方とも、\aspnet にフル コントロールを与えます。
ある種のアクセス許可の問題があると思いますが、メモしたフォルダーのアクセス許可と、Excel ファイルがアップロードされているフォルダー/ディレクトリのアクセス許可の間に違いが見つからないようです。ファイルを保存して開くために同じ場所が使用され、私のワークステーションと 2 つの Web サーバーでメソッドが機能します。Windows 2000 SP4 サーバー。