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

您需要关闭 Access 数据库数据库文件,然后您的代码才能访问数据/。

于 2012-11-01T11:15:12.757 回答
0

您好,请检查以下事项:

1.您正在使用的Access文件不应打开。

2.它不应该是只读的。

3.您应该对放置要访问的文件的文件夹具有读/写权限。

于 2012-11-01T11:24:29.777 回答
0

相应的用户帐户(默认为网络服务)需要对 Excel 文件所在的文件夹具有修改权限。将权限添加到 Excel 文件所在的文件夹。

于 2012-11-01T11:27:23.830 回答