查看: 564|回复: 1

[文章教程] 64位/32位版本下:使用OLEDB和ODBC方式连接ACCESS/EXCEL小结

[复制链接]
xuanxiao 发表于 2022-4-23 23:01:27 | 显示全部楼层 |阅读模式
如果使用OLEDB方式连接EXCEL/ACCESS:

  1. 文件类型 (extension)                                             扩展属性
  2. ---------------------------------------------------------------------------------------------
  3. Excel 97-2003 Workbook (.xls)                                  "Excel 8.0"
  4. Excel Workbook (.xlsx)                             "Excel 12.0 Xml"
  5. Excel Macro-enabled workbook (.xlsm)      "Excel 12.0 Macro"
  6. Excel Non-XML binary workbook (.xlsb)      "Excel 12.0"
复制代码


Access 2003 连接字符串
  1. strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdb;"
复制代码


Access 2007 连接字符串
  1. strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Mode=Share Exclusive;Data Source=C:\MyDatabase.accdb;"
复制代码



Excel2003 连接字符串
  1. strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Excel 8.0;HDR=YES"";Data Source=C:\MyWorkbook.xls;"
复制代码

  1. strExcelConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(curl) &";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
复制代码


其中HDR默认值为YES表示第一行为字段名, 否则第一行将作为内容

Excel 2007 连接字符串
  1. strConnect = “Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=C:\MyWorkbook.xlsx;”
复制代码




2.ODBC方式连接ACCESS/EXCEL

  1. ACCESS连接字符串:
  2. “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”

  3. EXCEL连接字符串:
  4. “Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”

复制代码


关于:Microsoft Access数据库引擎——Jet、ACE
1、Microsoft.Jet.OLEDB.4.0提供程序

(1)、适用于Microsoft Access 2007以前的版本,如Microsoft Access 2000、Microsoft Access 2003等。
(2)、只有32位的版本

2、Microsoft.ACE.OLEDB.12.0提供程序


(1)、用于替代Microsoft.Jet.OLEDB.4.0提供程序,所以适用于Microsoft Access 的全部版本,如Microsoft Access 2003、Microsoft Access 2007、Microsoft Access 2010、Microsoft Access 2016等。
(2)、既有32位版本又有64位版本
(3)、一个操作系统只能安装一种位数的ACE,如安装64位需要卸载32位。
(4)、64位的应用程序只能调用64位的引擎、32位的应用程序只能调用32位的引擎。
(5)、64位应用程序需要连接64位或32位access就必须用64位的ACE引擎。

另外:

Microsoft.ACE.OLEDB.12.0 能访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 则不允许。

 楼主| xuanxiao 发表于 2022-7-23 10:43:37 | 显示全部楼层
应用程序/版本
Jet 版本
Microsoft Access 1.0
1.0
Microsoft Access 1.11.1
Microsoft Access 2.02.0
Microsoft Access 2.0 Service Pack2.5
  • Microsoft Access 95
  • Excel 95
3.0
  • Microsoft Access 97
  • Excel 97
  • PowerPoint 97
  • Word 97
3.5
Microsoft Access 20004.0 SP1
Microsoft Access 2002[2]
Microsoft Access 2003[3]
Microsoft Access 2007ACE 12
Microsoft Access 2010ACE 14
Microsoft Access 2013ACE 15
Microsoft Access 2016ACE 16
Visual Basic 3.01.1
Visual Basic Compatibility Layer2.0
Visual Basic 4.0 16-bit2.5
Visual Basic 4.0 32-bit3.0
Visual Basic 5.03.5
Visual C++ 4.X3.0
Visual C++ 5.03.5
  • Microsoft Project 4.1
  • Project 95
3.0
Internet Information Server 3.03.5
SQL Server 7.04.0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号