ACE Oledb 12.0和XLSX问题

时间:2011-01-21 15:08:47

标签: excel connection-string oledb aceoledb

我正在使用以下代码在我的本地PC上设置具有Office 2007,SQL Server 2008的连接字符串:

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + MapPath(Request.ApplicationPath) + "\\" + excelFolderName + fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";

我的操作系统是Windows 7(64位),我可以毫无问题地阅读XLSXLSX个文件。

我已将我的项目发布到MS Server 2003 R2标准版X64中,在遇到一些问题之后,由于我没有安装ACE OLEDB 12.0,我安装了“Microsoft Access数据库引擎2010 Redistributable”和我无法阅读XLS个文件。

当我尝试打开XLSX(使用Office 2007创建)时出现问题,因为我收到此错误:

  

外部表格不是预期的格式

我做错了什么?

我不想安装以前的“Microsoft Access数据库引擎2007可再发行组件”,因为它只有32位版本,迫使我将项目构建为32位......

提前致谢

2 个答案:

答案 0 :(得分:0)

也许您需要.xlx和.xlxs文件的不同连接字符串?看看这个,它可能会有所帮助:http://www.arboundy.com/2010/11/the-microsoft.ace.oledb.12.0-provider-is-not-registered-on-the-local-machine/

答案 1 :(得分:0)

我遇到了类似的问题(请参阅我的帖子IIS and OLE DB External table is not in the expected format)。我开始认为ACE有一个严重的问题,因为我的连接字符串是ACE 12.0。

由于您使用的是Excel 2007,因此您仍然可以使用Jet,这可能会解决您的问题。如果您使用Excel 2010及更高版本,则必须使用ACE。