未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序

最近做了一个上位机项目,遇见了很多问题点,一直没有时间总结。现在项目告一段落,上来总结一下,都是通过网络查找资料解决的。再次感谢那些前辈,再次做一下记录,方便同行参考,也方便自己以后查看。

界面如下:

一:问题点,做用户登录时出现:“”未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序“” 的弹框报错。

下面是代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MoudelII;

namespace Template
{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string user = textBox_UserName.Text.Trim();
                string pwd = textBox_Password.Text.Trim();
                if ((user == "") || (pwd == ""))
                {
                    MessageBox.Show("用户名或密码错误!");
                    return;
                }
                //string strconn = "Provider=Microsoft.ACE.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\db_UserMsg.accdb";
                //modAccess access = new modAccess(strconn);
                string sql = "select * from tbUserInfo where UserName=‘" + user + "‘ and Password=‘" + pwd + "‘";
                DataTable dt = ComData.dbUser.ExecuteDataTable(sql);
                if (dt.Rows.Count > 0)
                {
                    ComData.UserLevel = Convert.ToInt32(dt.Rows[0]["UserLevel"]);
                    ComData.UserName = dt.Rows[0]["UserName"].ToString().Trim();
                    MessageBox.Show("登录成功!");
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("用户名或密码错误!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void textBox_Password_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == ‘\r‘)
            {
                button1_Click(sender, e);
            }
        }

    }
}
    public static modAccess dbUser = new modAccess("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\db_UserMsg.dat

用户和密码,保存到 :

db_UserMsg.dat 的文件里面。
在开发的电脑上无报错,但拷到设备上位机里面就会报:“”未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序“”。的错误提示。

二:解决方法:https://q.cnblogs.com/q/43682/  查到这位前辈的博客,通过他的方法即可解决,再次表示感谢。     
下载链接地址
http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

将下载的  

软件安装到电脑即可解决。



 
时间: 2024-08-01 10:46:13

未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序的相关文章

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序. 解决办法: 去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载. 以前的版本: http://www.microsoft.com/zh-CN/download/confirmation.aspx?id=23734

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法 错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

解决办法: 去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载.然后安装就行了. 本错误是由于你使用了ACCESS2007版本建立的数据库,但服务器中没有相配合使用的程序,所以出错. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈

System.InvalidOperationException: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。

最近用MVC3 做了一个项目,发布时项目的中的数据导入功能(Excel格式,有固定的导入数据模板)居然不能用,查看报错日志,发现是“System.InvalidOperationException: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序............”. 在网上找一些资料,把问题解决了.如下图所示. 后台功能代码:导入与导出实现代码. 1 #region -使用IO写入Excel- 2 /// <summary> 3 /// 使用IO写入E

未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序。

场景:在用excel 导入的时候页面出现"未在本地计算机上注册"Microsoft.Ace.OleDb.12.0"提供程序."的错误 最终验证解决方案如下: iis设置解决方案  选择 该应用程序的 应用程序池 ------>选择高级设置 --------->启用32位应用程序 ------->true 或 去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1

c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”

我们开发环境下,使用excel导入数据到数据库中,编译的软件起初是x86 方式,起初并未发现什么问题,一切很正常: 程序该进的过程: 后来导入文件一次就要读取几百G的数据导入数据库中,使用编译的X86程序就不正常了,尽管我解析文件(.xml)方式从数据流改用XmlTextReader,但还是会跑出内存溢出(“System.OutofMemoryException”多么痛苦,悲剧,无奈呀),后来同事建议我将程序编译x64后问题真正的解决了(我们开发机时64G内存,呵呵.) 程序改进后问题内存溢出问

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序的解决方法

在win7 操作系统中SQL2008导入excel2007 出现: 未在本地计算机上注册"microsoft.ACE.oledb.12.0"提供程序 的解决方法: 出现这个原因是office 2007没有安装64位的数据驱动,下载: http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe 数据引擎安装后即可.

在Studio中使用Access数据库时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”

错误提示: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序的解决方案: 此程序,为Office 2007 Access的相关组件. 下载并安装AccessDatabaseEngine.exe软件,Download Link.

提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

提示未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序,程序中出现这样的提示原因有很多种,这里我想记录的只是其中一种情况,具体如下: 当操作系统为64位的操作系统时,如果没有对程序集进行设置,使用默认编译配置的话会产生表示所示的提示信息.此时我们需要做的就是将应用程序属性中输出类型为应用程序的那个项目属性进行相应修改,将目标平台设置为Any CPU,并且将首选 32位(P)的默认勾选状态去掉,重新编译运行就不会出现标题提示的异常信息了. 以上操作前提是计算

未在本地计算机上注册&quot;microsoft.ACE.oledb.12.0&quot;提供程序解决办法

错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序. 解决办法: 去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载.然后安装就行了. 本错误是由于你使用了ACCESS2007版本建立的数据库,但服务器中没有相配合使用的程序,所以出错. 未在本地计算机上注册“microsoft.ACE.ol