通过OleDb ACE访问Excel 2007二进制文件(.xlsb)

时间:2008-12-23 17:27:06

标签: ssis oledb excel-2007

我完美地找到了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)

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

有人能帮助我吗?

提前致谢, 圣拉斐尔

1 个答案:

答案 0 :(得分:3)

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

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

  

此   文件是在以前的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连接。

希望这会有所帮助。