“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

时间:2023-12-30 23:38:02

一、背景:

开发一个工具的小项目,因为数据少,我就不想安装sqlserver数据库,就用Access数据库。

二、问题:

在客户安装程序的时候,接口访问Access数据库的时候,报错“未在本地计算机上注册Microsoft.Jet.OLEDB.4.0提供程序 “的问题”。

三、分析:

Access数据库配置的连接字符串,OLE DB, OleDbConnection (.NET)   标准安全策略   :Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

我在网上查询此问题才得知,Microsoft.Jet.OLEDB.4.0 是数据接口技术,通常指用编程语言来访问数据库的。Windows 里已经有了 Microsoft.Jet.OLEDB.4.0,32位的,但是默认情况下应用程序池不启用32位程序,所以显示没有安装Microsoft.Jet.OLEDB.4.0。你的系统是32位版 的会出现这种情况,那就是你安装了不正常操作系统了。果真如此我查看客户的电脑配置是win7 ,32位的版本,因此接口用不了。

四、解决方法

方法一:在对应的 IIS 应用程序池中,设置应用程序池默认属性 /常规 /启用32位应用程序,设置为 true。如下图所示:

“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

方法二:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86。 如下图所示:

“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

五、扩展知识Access 的优缺点

1.Access 的优点:

  • 存储方式简单,易于维护管理

    说明:Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。

  • 面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
  •  界面友好、易操作

  说明: Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询                       向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。

  • 集成环境、处理多种数据信息

    说明:Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地  进行。

  • Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表      格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
  • 支持广泛,易于扩展,弹性较大

说明:能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以Access作为前台客户端,以SQL Server作为后台数 据库的方式(如   ADP)开发大型数据库应用系统。

    总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。

2. Access 的缺点:

数据量过大性能降低。