3

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 サーバー。

4

7 に答える 7

3

アクセス許可の問題はより一般的かもしれませんが、Windowsファイルシステム/ AccessJet DB Engineの接続制限(64/255)からもこのエラーが発生する可能性があると思います。255アクセスの読み取り/書き込み同時接続またはプロセスごとの64(?)接続制限を無効にすると、まったく同じエラーが発生する可能性があります。少なくとも、接続が継続的に作成され、適切に閉じられなかったアプリケーションでこれに遭遇しました。シンプルなConn.close();立ち寄りで生活は良かった。Excelでも同様の問題が発生する可能性があると思います。

于 2010-01-30T23:11:13.480 に答える
1

場所を一重引用符で囲んでみてください

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'");
于 2008-11-01T00:08:13.780 に答える
0

内側の例外に何かありますか?これは64ビットアプリケーションですか?OLEDBプロバイダーは64ビットでは機能しません。アプリケーションターゲットx86が必要です。64ビットコンピューターでアクセスDBを開こうとするとエラーが発生したときにこれが見つかりました。

于 2008-09-18T19:43:57.507 に答える
0

アクセス許可に関するエラーが発生しましたが、それはカバーされているようです。また、接続文字列のフラグの 1 つでそれを見たことがあります。少し遊んでみてください。

于 2008-09-18T20:13:28.933 に答える
0

うん。私もそうしました。IMEX=1 を取り出し、拡張プロパティなどを取り出しました。開発サーバーとテスト サーバーでなんとかそれを破ることができました。:)開発で修正され、再度テストされるまで、それらを一度に1つずつ元に戻しますが、製品ではまだ作業がありません。

于 2008-09-18T20:16:27.507 に答える