0

Excel データを SQL Server 2005 テーブルにアップロードする必要があります。最初に、Excel データを一時テーブルにコピーし、条件に基づいてレコードを更新して SQL Server テーブルに挿入しました。

私のローカルシステムではすべて正常に動作します。同じプログラムを高品質のサーバーに移動しましたが、このエラーに直面しました

'Microsoft.ACE.OLEDB.12.0' プロバイダーがローカル コンピューターに登録されていません。

次に、品質サーバーに Microsoft.ACE.OLEDB.12.0 プロバイダーをインストールしました。今、このエラーが表示されます

Microsoft Office Access データベース エンジンは、ファイル '' を開いたり書き込んだりできません。すでに別のユーザーが排他的に開いているか、そのデータを表示および書き込みする権限が必要です。」

この問題を解決するために私を助けてください。

SqlConnection con = new SqlConnection();
con = SQLManager.openSQLConnection();

string path = FileUpload1.PostedFile.FileName;
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;Persist Security Info=False";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
OleDbCommand cmd = new OleDbCommand("Select [CM_CODE],[CM_NAME],[CM_ADD1],[CM_ADD2],[CM_ADD3],[CM_ADD4],[CM_CITY],[CM_PHONE],[CM_CG_CODE],[CM_CO_CODE],[CM_EXPIRY_DATE],[CM_PINCODE],[CM_EMAIL] from [Sheet1$]", excelConnection);

excelConnection.Open();
OleDbDataReader dReader;

dReader = cmd.ExecuteReader();

よろしく、サティア

4

2 に答える 2

0

最後に、解決策を見つけました。Quality サーバーのアプリケーション フォルダの下に 1 つのフォルダを作成しました。アップロードされた Excel シートは、この新しいフォルダーに保存されます。SQLサーバーデータベースの更新中に参照しているそのパス。今はすべて正常に動作しています...ご支援いただきありがとうございます

よろしく、サティア

于 2013-08-28T09:41:25.690 に答える