【问题标题】:Accessing Excel 2007 Binary (.xlsb) via OleDb ACE通过 OleDb ACE 访问 Excel 2007 二进制文件 (.xlsb)
【发布时间】:2008-12-23 17:27:05
【问题描述】:

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

所以我假设转换为这种格式,请阅读关于 访问 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 服务器 (Windows Server 2003 x64 SP2)

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

有人可以帮帮我吗?

提前致谢, 拉斐尔

【问题讨论】:

  • 虽然同样的 64 位包在 64 位网络服务器上运行良好。
  • 老实说,我无法确切地弄清楚您何时以及如何得到错误,但我可以使用 C# 使用 OleDbConnection select 和 update 一个 .xlsb 文件。

标签: ssis oledb excel-2007


【解决方案1】:

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

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

这个 文件是在 Excel 2007 的早期测试版中创建的。打开文件 使用 Excel 2007 将其保存到最新版本的 Excel 2007 文件中 在 Access 2007 中打开文件之前格式化。”

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

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

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

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

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

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

然后我发现这个解决了我的困难:

Microsoft Office Access Runtime and Data Connectivity 2007 Service Pack 2 (SP2).

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多