在64位模式下不支持OleDB?

Joh*_*don 14 .net c# csv oledb 64-bit

我一直在使用Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0来读取.csv,.xls和.xlsx文件.

我刚刚发现原生64位模式都不支持这些技术!

我有两个问题:

  1. 在64位模式下以编程方式读取.csv,.xls和.xlsx文件的支持方式是什么.我无法在任何地方找到答案.

  2. 如果我无法读取所有三种文件类型,那么在64位环境中读取.csv文件的最佳方法是什么?

笔记:

  • 我正在使用.NET(3.5p1)
  • 这是一个收缩包装应用程序; 再分配是一个关键因素.

更新:

我可以使用CorFlags强制应用程序以32位模式运行,这是有效的,但是不可取.

JP *_*oto 8

下面讨论如何处理已弃用的MDAC.我担心答案不是很令人满意......

这些新的或转换后的Jet应用程序可以继续使用Jet,目的是使用Microsoft Office 2003和早期文件(.mdb和.xls)进行非主数据存储.但是,对于这些应用程序,您应该计划从Jet迁移到2007 Office System驱动程序.您可以下载2007 Office System驱动程序,它允许您读取和写入Office 2003(.mdb和.xls)或Office 2007中的预先存在的文件(*.accdb,*.xlsm,*.xlsx和*.xlsb)文件格式.重要信息请阅读2007 Office System最终用户许可协议,了解具体的使用限制.

注意:SQL Server应用程序还可以通过2007 Office System Driver从SQL Server异构数据连接和集成服务功能访问2007 Office System及更早版本的文件.此外,64位SQL Server应用程序可以通过在64位Windows上使用32位SQL Server集成服务(SSIS)来访问32位Jet和2007 Office System文件.