Rohit Singh Ответов: 0

Компонент Microsoft access database engine не может открыть или записать в файл ошибку разрешения


Прежде чем я укажу свою проблему, позвольте мне сказать вам все, что я уже достаточно изучил по этому вопросу через интернет, но ни одна статья не поможет мне решить мою проблему. Проблема в том, что когда я пытаюсь загрузить файл excel и начать его обработку, он выдает ошибку "компонент Microsoft Access database engine не может открыть или записать файл . Он уже открыт исключительно другим пользователем, или вам нужно разрешение на просмотр и запись его данных". Мой код работает правильно на моем локальном компьютере основная проблема возникает, когда я загружаю код на рабочий сервер. Ниже приведен мой код:



Note: I'm using MySql as database.

I've also set the permissions to the folder on my server where the file get stored after uploading still the same issue.


Что я уже пробовал:

if (file_Upload_DataFile.HasFile)
           {
               string fileName =
   Path.GetFileName(file_Upload_DataFile.PostedFile.FileName);
                   string fileExtension = Path.GetExtension(file_Upload_DataFile.PostedFile.FileName);

                   if (fileExtension != ".xls" && fileExtension != ".xlsx")
                   {
                       ScriptManager.RegisterStartupScript(this, this.GetType(), "onload", "alert('invalid file format!! you must upload a file having an extention of either (.xls) or (.xlsx)');", true);
                       extFlag = false;
                   }

                   string fileLocation = Server.MapPath("../ExcelReport/" + fileName);
                   file_Upload_DataFile.SaveAs(fileLocation);
                   if (fileExtension == ".xls")
                   {
                       connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                       extFlag = true;
                   }
                   else if (fileExtension == ".xlsx")
                   {
                       connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
                       extFlag = true;
                   }

               }
               if (extFlag != false)
               {

                   OleDbConnection con = new OleDbConnection(connectionString);
                   OleDbCommand cmd = new OleDbCommand();
                   cmd.CommandType = System.Data.CommandType.Text;
                   cmd.Connection = con;
                   OleDbDataAdapter dAdapter = new OleDbDataAdapter(cmd);
                   //DataSet ds = new DataSet();
                   DataTable dtExcelRecords = new DataTable();
                   con.Open();
                   DataTable dtExcelSheetName = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                   string getExcelSheetName = dtExcelSheetName.Rows[0]["Table_Name"].ToString();
                   cmd.CommandText = "SELECT * FROM [" + getExcelSheetName + "]";
                   dAdapter.SelectCommand = cmd;
                   dAdapter.Fill(dtExcelRecords);
                   con.Close();
   }

Maciej Los

Какие разрешения вы установили?

Rohit Singh

чтение-запись

0 Ответов