【问题标题】:ACE Oledb 12.0 and XLSX problemsACE Oledb 12.0 和 XLSX 问题
【发布时间】:2011-06-13 05:15:37
【问题描述】:

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

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 Database Engine 2010 Redistributable”并且我是无法读取XLS 文件。

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

外部表不是预期的格式

我做错了什么?

我不想安装以前的“Microsoft Access Database Engine 2007 Redistributable”,因为它只有 32 位版本,迫使我将项目构建为 32 位...

提前致谢

【问题讨论】:

  • 仅使用简单连接创建项目时出现相同错误:

标签: excel connection-string oledb aceoledb


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多