本文介绍了'Microsoft.ACE.OLEDB.12.0'提供程序未注册的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

错误:'Microsoft.ACE.OLEDB.12.0'提供商未在本地计算机上注册。



  protected   void  Button1_Click( object  sender,EventArgs e) 
{


if (FileUpload1.HasFile)
{
string path = string .Concat((Server.MapPath( 〜/ temp / + FileUpload1.FileName)));
FileUpload1.PostedFile.SaveAs(path);


OleDbConnection OleDbcon = new OleDbConnection( Provider = Microsoft.ACE.OLEDB.12.0; server = + path + ;扩展属性= Excel 12.0;);

OleDbCommand cmd = new OleDbCommand( SELECT * FROM [Sheet1 $],OleDbcon);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(cmd);
OleDbcon.Open();
DbDataReader dr = cmd.ExecuteReader();

string connectionString = @ Data Source = .\sqlexpress; Initial Catalog = testdb; User Id = abc; Password = abc123;;
con);


SqlBulkCopy bulkInsert = new SqlBulkCopy(connectionString);
bulkInsert.DestinationTableName = table_temp;
bulkInsert.WriteToServer(dr);
OleDbcon.Close();
Array.ForEach(Directory.GetFiles((Server.MapPath( 〜/ temp /))),File.Delete);
Label1.ForeColor = Color.Green;
Label1.Text = 已成功插入;

}
else
{
Label1.ForeColor = Color.Red;
Label1.Text = 请选择文件;
}
}
}
解决方案




ERROR: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

protected void Button1_Click(object sender, EventArgs e)
        {


            if (FileUpload1.HasFile)
            {
                string path = string.Concat((Server.MapPath("~/temp/" + FileUpload1.FileName)));
                FileUpload1.PostedFile.SaveAs(path);


                OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;server=" + path + ";Extended Properties=Excel 12.0;");

                OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", OleDbcon);
                OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(cmd);
                OleDbcon.Open();
               DbDataReader dr = cmd.ExecuteReader();

               string connectionString = @"Data Source=.\sqlexpress;Initial Catalog=testdb;User Id=abc; Password=abc123;";
               con);


               SqlBulkCopy bulkInsert = new SqlBulkCopy(connectionString);
                bulkInsert.DestinationTableName = "table_temp";
                bulkInsert.WriteToServer(dr);
                OleDbcon.Close();
                Array.ForEach(Directory.GetFiles((Server.MapPath("~/temp/"))), File.Delete);
                Label1.ForeColor = Color.Green;
                Label1.Text = "successfully inserted";

            }
            else
            {
                Label1.ForeColor = Color.Red;
                Label1.Text = "Please select the File";
            }
}
}
解决方案




这篇关于'Microsoft.ACE.OLEDB.12.0'提供程序未注册的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 19:20