Я запускаю приведенный ниже код в решении asp.net 4.5 и выдает ошибку:
Ядро базы данных Microsoft Jet не может открыть файл ''. это
уже открыт исключительно другим пользователем, или вам нужно разрешение на
просмотреть его данные.
Код следует:
private static string FileConnectionString(string filePath)
{
return string.Format(WebConfigurationManager.AppSettings["DataFileCSV"].ToString(), filePath);
}
string DataUploadFolder = WebConfigurationManager.AppSettings["DataFileUploadFolder"].ToString();
string filePath = HttpContext.Current.Server.MapPath(DataUploadFolder);
OleDbConnection fileConnection = new OleDbConnection(FileConnectionString(filePath));
try
{
fileConnection.Open();
string columnList = "Col1, Col2, Col3, Col4, Col5";
DataTable fileDataTable = new DataTable();
OleDbCommand command = new OleDbCommand(string.Format("SELECT {0} FROM [{1}]",
columnList,
FileUploadControl.FileName),
fileConnection);
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.Fill(fileDataTable); //Exception occurs here !!
}
catch (Exception ex)
{
}
finally
{
fileConnection.Close();
}
Web.config:
<add key="DataFileCSV" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=Yes;FMT=Delimited';" />
Обратите внимание, что файл CSV нигде не открыт. На самом деле ни один файл не открыт, только Visual Studio открыта. Я могу открыть файл, изменить и сохранить его. «Каждый» имеет право «полный контроль» над файлом.
Не могу понять, почему происходит ошибка, не могу найти способ ее исправить. Видел много страниц с этой ошибкой, но до сих пор не удалось решить проблему. Любая помощь будет принята с благодарностью.
Редактировать: В aspx я использую: <asp:FileUpload ID="FileUploadControl" runat="server" Width="400px" />