Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。

ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。

另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。

所以,在使用不同版本的office时,要注意使用合适的引擎。

以上对access同样有效。

Jet连接语句:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\您 的数据库名.mdb;Persist Security Info=True;Jet OLEDB:Database Password=您的数据库密码

ACE连接语句:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\您 的数据库名.accdb;Persist Security Info=True;Jet OLEDB:Database Password=您的数据库密码

-----------------------------------------------------------------------------------------------------------------

Microsoft.Jet.OLEDB.4.0,microsoft.ACE.oledb.12.0遇到提示这种东西没有注册到,解决方法是先检查有没有安装offcie和access软件。前一种要Office2003,后一种要Office2007以上版本。

网上的解决方式大概如下,但是行不通:

需要注意的问题和解决方法:

1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,;

2.Data Source不要写成“Data Sourse”,

3.检查是否安装了Office

4.重新安装注册MDAC28.exe (一般你的安装目录里有或者到微软的官方网站上下)

5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86

微软提供的解决方法:

错误信息:未在本地计算机上注册“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”提供程序。

下载2007 Office system 驱动程序:数据连接组件安装

http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,

例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。

这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。

此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

---------------------------------------

使用此下载:

如果您是应用程序用户,请查阅应用程序文档以获得有关如何使用相应的驱动程序的详细信息。

如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0”

如果要连接到 Microsoft Office Excel 数据,请将“Excel 12.0”添加到 OLEDB 连接字符串的扩展属性中。

如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,

请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”

如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,

请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”

详情:http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891

或者:

解决办法1 (验证可以了)

选择 该应用程序的 应用程序池 ------>选择高级设置 --------->启用32位应用程序 ------->true

解决办法2

Microsoft.ACE.OLEDB.12.0是不能再x64上使用的,你要强制把你的web application编译成x86再发布到Win08 x64上,记得在Application pool上设置Enable 32bit Application = true。

(没有验证)

如果是64位平台,也可能出现这种情况。 解决方法:项目->属性->生成->配置管理器->平台->点击Any Cpu选项卡->选择 X86 英文版:Build->Platform target: select "X86"

-----------------------------------------------------------------------------------------------------------------

Excel 97-2003

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 8.0;HDR=YES";

Excel 2007-2013

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

Access 97-2003

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.mdb;Persist Security Info=False;

Access 2007

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;

DBF / FoxPro

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;

注意:

"HDR=Yes;"声名第一行的数据为域名,并非数据。

"HDR=No;"第一行为数据。

-----------------------------------------------------------------------------------------------------------------

Xlsx文件
    这是用来连接带Xlsx扩展名的Excel 2007文件。这是不带宏的Office Open XML格式。
以下是语法格式:

Provider
   "HDR=yes;"是说第一行是列名而不是数据。"HDR=No;"正好与前面的相反。
 
把数据当做文本对待
   使用这条连接当你想把所有的数据都当做文本对待时,覆盖Excel通常的猜测这列的数据类型。

以下是语法格式:

Provider= Microsoft.ACE.OLEDB.12.0; Data Source= c:\myFolder\myExcel2007file.xlsx; Extended Properties= "Excel 12.0 Xml;HDR=YES;IMEX=1";
   如果你想把列名也读到结果集中(使用“HDR=NO”尽管第一行是列名)并且列中的数据是数值型的,使用“IMEX=1”可必免冲突。
  使用"IMEX=1"检索混合数据列是一种安全的方法。试想一下,当Driver检索出数据列中有一种数据类型的excel文件可以正常工作,而另一个excel文件(某列)被检测出两种类型,这会造成你的程序的冲突。
 
Xlsb文件
  这是用来连接带Xlsb扩展名的Excel 2007文件。这是一种保存为二进制的Office Open XML格式。 不像Xlsx文件那种可读的文件格式。此种格式在数据量大时可以提升性能。

以下是语法格式:

Provider= Microsoft.ACE.OLEDB.12.0; Data Source= c:\myFolder\myBinaryExcel2007file.xlsb; Extended Properties= "Excel 12.0;HDR=YES";
   "HDR=yes;"是说第一行是列名而不是数据。"HDR=No;"正好与前面的相反。
Xlsm文件
这是用来连接带Xlsm扩展名的Excel 2007文件。这是带宏的Office Open XML格式。

以下是语法格式:

Provider= Microsoft.ACE.OLEDB.12.0; Data Source= c:\myFolder\myExcel2007file.xlsm; Extended Properties= "Excel 12.0 Macro;HDR=YES";
   注意:字符串中的引号"要用你的程序的语言的转义语法转义一下。
   在C中为 \"  ,    VB,VBScript为 ""
   XML(Web.config etc)  " , 或者可以使用单引号。

附:
在编程环境下,比如C#编程环境,要构成连接字符串。而字符串要放到双引号内,比如:
string connString =string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0", filePath);
filePath是excel文件的目录。
如果Extended Properties需要加其他的属性,比如: IMEX=1
这时字符串要写成这样:
string connString =
                string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1'",
                              filePath);
注意 单引号。

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别相关推荐

  1. Navicat Premium 12.0.18 / 12.0.24安装与激活

    Navicat Premium 12.0.18 / 12.0.24安装与激活 若使用Navicat Premium 12.0.27请转至Navicat Premium 12.0.27安装与激活,其实每 ...

  2. centos 7 安装 mantisbt-2.12.0 —— 安装LAMP环境、安装mantisbt-2.12.0

    一.安装LAMP环境 1 二. 环境的启动 6 三. Mantis数据库的创建 6 四. 安装mantis-2.12.0 9 1>安装配置 9 2>登录管理员账号 13 3>新建用户 ...

  3. Ubuntu 18.04 安装Qt 5.12.0

    Ubuntu 18.04 安装Qt 5.12.0 1.安装包下载 2.安装QT 3.配置系统路径 4.配置QT creator 6.测试工程 1.安装包下载 官方下载地址 也可以下载到其他版本:htt ...

  4. tensorflow/models-v1.12.0中使用ssd_mobiledet_cpu_coco

    0.环境 ubuntu16.04 python3.6 cuda9.0 cudnn7.6.1 tensorflow-gpu==1.12.0 models==1.12.0 1.下载 1.1 ssd_mob ...

  5. x-pack-core-7.12.0破解许可到2050年到期

    总体步骤说明 默认情况,查看版本一个月到期,如图所示是显示菜单路径,原图没有保存 1.修改x-pack-core-7.12.0.jar 2.更新许可 3.重启es 一.修改x-pack-core-7. ...

  6. 小米10 Ultra从MIUI 13.0.3降级到12.0.15

    用了一段时间MIUI 13,感觉在相机这一块砍得太深,成像太模糊了,所以想换回老版本玩玩. 在小米论坛逛了一圈,大家都是在刷12.0.10和12.0.15这两个版本,不过12.0.10只有卡刷包,没有 ...

  7. Android 12.0 rom定制专栏系列解读

    一.前言 在从事android系统rom定制化的这几年里,经历了坎坎坷坷,开发过好几种类型的产品,也随着google对android系统的更新加快,也需要跟随上时代的进步,所以需要把平时工作中遇到的问 ...

  8. Android studio Invalid revision: 12.0.2753695 beta 1

    昨晚升级完了懵逼了,于是Google了一下,原来是个bug 原文为: set gradle to 2.1.0 in file $SDK/ndk_bundle/source.properties rep ...

  9. Android 10.0 11.0 12.0 启动模拟器教程

    <<返回总目录 Android 10.0 11.0 12.0 启动模拟器教程 一.android 12.0 模拟器 二.安装android 10.0 11.0 12.0 SDK平台 三.创 ...

  10. Flink1.12.0简单实现wordcount

    文章目录 前言 一.Flink1.12.0简单实现wordcount 二.使用步骤 1.引入pom.xml 2.主类 3.运行结果 总结 前言 Flink1.12.0简单实现wordcount 一.F ...

最新文章

  1. aix-syslog
  2. iOS开发笔记(二):block循环引用
  3. 《MVC 系列》- 控制器数据传递
  4. 格式化json_在Spring Boot中格式化JSON日期
  5. Android应用开发提高系列(4)——Android动态加载(上)——加载未安装APK中的类...
  6. zwpython_零起点Python大数据与量化交易
  7. linux下解压.tar.bz2文件
  8. node Express 框架
  9. HQL中左连接,右连接、内连接
  10. [poj3280]Cheapest Palindrome_区间dp
  11. 清除n天以前的日志文件以及mysql-bin文件
  12. shell初级-----更多结构化命令
  13. Lucene查询结果高亮
  14. Windows下安装numpy
  15. Android拦截浏览器广告,浏览器拦截广告的几种方法
  16. win10“无法完成操作,因为文件包含病毒或潜在的垃圾软件”解决办法
  17. 国外计算机从什么开始学,从零开始学电脑知识 1(国外英语资料).doc
  18. html如何让图片边缘模糊化,如何使用css滤镜获得图像:模糊和锐利的边缘?
  19. 抖音3d照片怎么制作html,抖音3D卡通小人是什么app软件 怎么制作方法介绍
  20. 论文:麦克风阵列增强

热门文章

  1. 国内券商有没有提供股票交易接口的?
  2. c office 转html,Office转HTML
  3. MySQL架构初步了解
  4. 纳税服务系统【总结】
  5. 第一章 初识嵌入式系统
  6. led显示屏P4安装方式功能详细介绍
  7. selenium implicitly_wait() 隐式等待
  8. 频率与周期的精密控制——用SPI输出PWM脉冲
  9. 代码保护软件VMProtect用户手册主窗口之控制面板“项目”部分(4)
  10. python函数参数*args