我试图访问Excel文件导出到SQL数据库与ASP.NET和VB.NET,但得到以下错误

Microsoft Access数据库引擎无法打开或写入文件“”。 它已经由另一个用户专门打开,或者您需要查看和写入其数据的权限。

我试图从ASP.NET和VB.NET导入Excel文件,以将其更新到我的SQL服务器。 但我收到以下错误。 请给我一个解决scheme。 VB.NET代码。

Dim strConnection As [String] = "projectlist" Dim path As String = fileuploadExcel.PostedFile.FileName Dim excelConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path & ";Extended Properties=Excel 12.0;Persist Security Info=False;Mode= Share Deny None;Persist Security Info=False;Mode=12" Dim excelConnection As New OleDbConnection(excelConnectionString) Dim cmd As New OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]", excelConnection) excelConnection.Open() Dim dReader As OleDbDataReader dReader = cmd.ExecuteReader() Dim sqlBulk As New SqlBulkCopy(strConnection) sqlBulk.DestinationTableName = "Excel_table" sqlBulk.WriteToServer(dReader) excelConnection.Close() 

Web.config代码

 <connectionStrings> <add name="projectlist" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\PT-33\Documents\Visual Studio 2013\WebSites\LT_V1\Data\projects_list.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" /> </connectionStrings> 

试图设置权限的文件夹,即networking服务的权限,但不工作。

这是我的初始Excel连接string

 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;Persist Security Info=False" 

确保你已经closures了excel文件。 去你的任务pipe理器。 检查是否有任何Microsoft Office Excel应用程序或后台进程正在运行。 如果是的话,select它并点击End taskbutton。

正如它所说,也许这个文件已经被某个程序(你)打开了。 作为一种解决方法,您可以将文件复制到临时位置并从此处打开

您可能没有保存文件。 请阅读保存已上传的文件