且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OleDB不支持64位模式?

更新时间:2022-12-29 07:56:57

以下是有关有关弃用的MDAC的操作的讨论。恐怕答案不是很令人满意...


这些新的或转换的Jet
应用程序可以继续使用Jet
意图对非主数据
存储使用Microsoft
Office 2003和更早版本的文件(.mdb
和.xls)。然而,对于这些
应用程序,您应该计划
从Jet迁移到2007 Office
系统驱动程序。您可以下载
2007 Office System Driver,其中
允许您从
中读取和写入
在Office
2003(.mdb和.xls)中预先存在的文件或Office
2007(* .accdb,* .xlsm,* .xlsx和
* .xlsb)文件格式。重要信息请阅读2007 Office system最终用户
特定用途的许可协议
限制。



注意:SQL Server应用程序还可以通过
访问2007 Office System,以及
访问SQL Server
异步数据连接和
Integrations服务功能为
,通过2007 Office system
驱动程序。此外,64位SQL
服务器应用程序可以使用32位SQL Server访问
32位Jet和2007 Office System
文件$ 64在64位的集成服务(SSIS) -bit
Windows。



I've been using Microsoft.Jet.OLEDB.4.0 and Microsoft.ACE.OLEDB.12.0 to read in .csv, .xls, and .xlsx files.

I just found out that neither of these technologies are supported in native 64bit mode!

I have 2 questions:

  1. What is the supported way to programatically read .csv, .xls, and .xlsx files in 64 bit mode. I just can't find answers to this anywhere.

  2. If I can't read in all three file types, what is the best way to read in .csv files in a 64 bit environment?

Notes:

  • I'm using .NET (3.5p1)
  • This is a shrink wrap app; redistribution is a key factor.

Update:

I can use CorFlags to force the application to run in 32bit mode, which works, but is not desirable.

Here is a discussion of what to do about deprecated MDAC. I am afraid the answer is not very satisfying ...

These new or converted Jet applications can continue to use Jet with the intention of using Microsoft Office 2003 and earlier files (.mdb and .xls) for non-primary data storage. However, for these applications, you should plan to migrate from Jet to the 2007 Office System Driver. You can download the 2007 Office System Driver, which allows you to read from and write to pre-existing files in either Office 2003 (.mdb and .xls) or the Office 2007 (*.accdb, *.xlsm, *.xlsx and *.xlsb) file formats. IMPORTANT Please read the 2007 Office System End User License Agreement for specific usage limitations.

Note: SQL Server applications can also access the 2007 Office System, and earlier, files from SQL Server heterogeneous data connectivity and Integrations Services capabilities as well, via the 2007 Office System Driver. Additionally, 64-bit SQL Server applications can access to 32-bit Jet and 2007 Office System files by using 32-bit SQL Server Integration Services (SSIS) on 64-bit Windows.