惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
博客园 - Franky
腾讯CDC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium
量子位
Jina AI
Jina AI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 叶小钗
D
Docker
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss

博客园 - HAL9000

旧文重发:漫谈字符集和编码 用html5 canvas和JS写个数独游戏 如何破解.net软件 夜晚才能工作的程序员 公司让各部门写春联,这是我们部门写的对子 盖茨和乔布斯 利用简单的力学法则来模拟天体运行(2) 利用简单的力学法则来模拟天体运行 一个仿windows泡泡屏保的实现 informix cli 汉字乱码的解决办法 msdn版windows 8无法激活的解决办法 一个长事务引起的血案——Informix 长事务回滚失败引起的阻塞故障处理 一些常见的星际旅行的科技名词与其"理论根据": 笔记:连接SCO上的FTP时为何那么慢 关于中文编程的段子的一个实现 VC非托管代码调用webservice,并支持代理服务器设置 天哪,我遇上了一个windows api BUG! 并贡献一个完全支持代理服务器的http文件下载VC代码 找到锁域账号的元凶 求高手指点:VC中wininet的代理服务器问题,耗了两天了,没有一点办法
谁是DAC2.8和jet4.0的接班人?
HAL9000 · 2013-01-14 · via 博客园 - HAL9000

从前在写读excel文件的程序时,会采用这样的oledb数据连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.xls;Extended Properties='Excel 8.0;HDR=YES;IMEX=0';

但是,在两种情况下,这个oledb的数据连接会出错:一是面对Excel 2007以上的版本的xlsx文件时,二是程序被部署在64位版的操作系统中,而且运行时的程序集被编译为64位或是“任何平台”时。

第一种情况会导致文件打不开,因为jet 4.0不能支持xlsx文件格式。

第二种情况则会在创建ole connection时出现 “Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine” 的问题。就算是你在64位系统下安装了msdac也不行,msdac里的组件只能被32位模式的程序集访问。

网上有很多人采用强制iis用32位模式运行的方法来解决问题,而且抱怨微软没有提供64位版的msdac组件。但做为重要的office更新,excel 2007版之后不可能不提供数据访问组件的全方面支持。

经过研究才知道,微软已经用新的玩意儿来接了msdac的班,正是因为这个原因,才没有继续在msdac上下功夫,也就没有了jet4.0之后的更新。

新的玩意儿叫Microsoft Access Database Engine, 缩写叫MS ACE, 现在最新版是2010版,这个组件分别发行了32位版与64位版,完整地支持目前所有的excel文件格式,当然还有所有的access文件格式,包括office 2007之前的旧版文件格式,用这个组件里的oledb provider也能一样能打开。

但是,你需要使用新的oledb连接字符串,如下:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\test.xls;Extended Properties='Excel 12.0;HDR=YES;IMEX=0';

这样的连接字符串可以用于任何office版本的文件格式。而且在windows 64bit上也运行正常。

MS ACE 下载地址在这里:  http://www.microsoft.com/en-us/download/details.aspx?id=13255