Проблема с компонентами доступа к данным Microsoft (MDA C) в ASP. NET Webform - PullRequest
0 голосов
/ 16 марта 2020

Я хочу загрузить файл Excel на свой веб-сайт, а затем обработать строки и вставить строки на мой сервер Microsoft sql. но при загрузке файла Excel я получаю эту ошибку:

The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later.

это мой код:

        string FileUpload = null;
        if (FileUploadBTN.FileName.Length > 0)
        {
            string picPath = Server.MapPath(Request.ApplicationPath) + @"\TemporaryFiles\";
            FileUploadBTN.SaveAs(picPath + Path.GetFileName(FileUploadBTN.FileName));
            FileUpload = picPath + Path.GetFileName(FileUploadBTN.FileName);
        }
        try
        {
            string Extension = Path.GetExtension(FileUpload);
            string conStr = "";
            switch (Extension)
            {
                case ".xls":
                    conStr = @"Provider=Microsoft.ACE.OLEDB.4.0;Data Source=" + FileUpload + ";Extended Properties='Excel 12.0;HDR=YES'";
                    break;
                case ".xlsx":
                    conStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileUpload + ";Extended Properties='Excel 12.0;HDR=YES'";
                    break;
            }
            OleDbConnection conn = new OleDbConnection(conStr);
            conn.Open();
            string query = "select * from [Sheet1$]";
            OleDbDataAdapter da = new OleDbDataAdapter(query, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "Activities");
            conn.Close();
            DataTable ExcelData = ds.Tables["Activities"];
            int counter = 0;
            SQLClass dbc = new SQLClass();
            using (TransactionScope scope = new TransactionScope())
            {
                foreach (DataRow row in ExcelData.Rows)
                {
                    //Some code
                }
                scope.Complete();
                File.Delete(FileUpload);
            }
        }
        catch(Exception err) { string m = err.Message; }

Я позвонил своему хосту, и они сказали, что версия 2.8 компонентов доступа к данным Microsoft (MDA *) 1013 *) был установлен.

Где моя ошибка?

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...