Я хочу загрузить файл 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 *) был установлен.
Где моя ошибка?
Большое спасибо.