8

我发现 Excel 2007 二进制格式(扩展名为 .xlsb)非常适合我的需要,因为它加载速度快且非常紧凑。我在 Excel 中提供了一堆带有大量数据的报告,这些报告实际上是通过 IS 包加载的。

所以我假设转换为这种格式,阅读 Access Ole DB Provider 12 上的文档,其中写到 xlsb 受此提供程序支持。我在 Excel 中转换了文件,然后在尝试在包中更改它们时(只需通过添加“b”后缀来更改文件的路径),我收到以下错误消息:

"Test connection failed because of an error in initializing provider. This 
file was created in a previous beta version of Excel 2007.  Open the file 
with Excel 2007 to save it to the most recent version of the Excel 2007 file 
format before opening the file in Access 2007."

好吧,我想可能是文件转换的问题,所以我拿起一个全新的并填写了一些信息。再试一次,同样的错误!!

然后我尝试了使用“.udl”文件的方法,同样的错误!然后我尝试在不同的机器上进行测试: - 我自己的 (Windows Vista SP1) - 我的同事 (Windows XP SP2) - IS Server (Windows Server 2003 x64 SP2)

并且错误仍然存​​在。我发现重现该错误非常容易,以至于我通过谷歌搜索没有找到任何关于它的信息,这让我有点惊讶!

有人可以帮助我吗?

提前致谢, 拉斐尔

4

1 回答 1

3

我知道这是旧帖子。几天前我遇到了这个问题,经过很多努力,我能够解决它。希望它可以帮助某人。

就我而言,我有同样的错误:

此文件是在 Excel 2007 的早期测试版中创建的。在 Access 2007 中打开文件之前,使用 Excel 2007 打开文件以将其保存为最新版本的 Excel 2007 文件格式。

当我试图打开我的 OldDB 连接时会发生这种情况。我怀疑这是由于我的连接字符串语法或值问题,但经过大量更改后没有任何效果。

我在我的机器上安装了以下内容:

1) Microsoft Access 数据库引擎 2010 版本 14.0.7015 (从这里获取)

2) Microsoft Office Access 数据库引擎 2007 版本 12.0.4581 (从这里获取)

这是导致错误发生的连接字符串:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Project\Excel1.xlsb;Extended Properties='Excel 12.0;HDR={1}'"

然后我发现这个解决了我的挣扎:

Microsoft Office Access 运行时和数据连接 2007 Service Pack 2 (SP2)

我只需要下载、运行它并重新启动我的机器。然后瞧,我可以打开我的 OleDB 连接而不会出现该错误。

希望这会有所帮助。

于 2015-09-27T10:02:42.737 回答