1

いくつかのデータを含む Excel シートがあります。そのデータを aspx ページから SQL Server データベースに保存したいと考えています。

データを保存しようとしていますが、次のようなエラーが発生します。

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

これは私のコードです:

string excelConnectionString = @"provider=Microsoft.ACE.OLEDB.12.0;data source=" + path + ";extended properties='Excel 12.0;HDR=YES;'";

//Create Connection to Excel work book
OleDbConnection excelConnection =new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]",excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "Excel_table";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();

事前に感謝します...

4

3 に答える 3

0

適切なユーザー アカウント (既定では NETWORK SERVICE) には、Excel ファイルが存在するフォルダーに対する MODIFY アクセス許可が必要です。Excel ファイルが存在するフォルダーにアクセス許可を追加します。

于 2012-11-01T11:27:23.830 に答える
0

コードが data/ にアクセスする前に、Access データベース データベース ファイルを閉じる必要があります。

于 2012-11-01T11:15:12.757 に答える
0

こんにちは、次のことを確認してください。

1.使用しているアクセスファイルは開かないでください。

2.読み取り専用ではありません。

3.アクセスしたいファイルが置かれているフォルダの読み書き権限が必要です。

于 2012-11-01T11:24:29.777 に答える