ACE Oledb 12.0和XLSX问题

我使用下面的代码来设置具有Office 2007,SQL Server 2008的本地PC上的连接string:

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可再发行组件”,我无法读取XLS文件。

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

外部表格不是预期的格式

我究竟做错了什么?

我不想安装以前的“Microsoft Access数据库引擎2007年可再发行组件”,因为它只有一个32位版本,迫使我build立我的项目为32位…

提前致谢

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

我有一个类似的问题(请参阅我的职位IIS和OLE DB外部表不是预期的格式 )。 我开始认为ACE有一个严重的问题,因为我的连接string是ACE 12.0。

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