通过64位的ADO.NET进行CSV访问?
题
在32位.NET应用程序中,我可以使用此OLEDB连接字符串通过ADO.NET连接到CSV文件:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\foo;"
或这个ODBC:
"Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq=c:\foo"
然而,显然不存在OLEDB Jet驱动程序或ODBC文本驱动程序的64位版本。
我可以逐行解析CSV或以32位模式运行应用程序,但理想情况下我只想找到一个以64位运行的不同驱动程序。
有什么想法吗?
解决方案
这不是司机,但我对Sebastien Lorion的CSV阅读器很满意。请注意,我从未在64位环境中使用它,但我不知道任何兼容性问题。
其他提示
我有这个完全相同的问题,经过多次试验<!> amp;错误这是我发现的有效:
<强> 1。启用临时程序
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
<强> 2。在服务器上安装此文件:
亚历, 你需要一个司机吗?如果您只需要逐行读取CSV文件,那么有许多免费的解析器。如果您还需要写出CSV,请查看 FileHelpers 。
我最终不得不将我的应用程序转换为32位,因为我遇到了同样的问题,尽管访问了Microsoft Access数据库。我知道这会奏效,但你可能不想要这个解决方案。如果有人知道这个问题的答案,我也很乐意听到它。
你很幸运 - 2010年12月,微软发布了一个用于CSV和XLSX文件的64位OLEDB驱动程序!
有关下载链接,安装详细信息,连接,请参阅此答案字符串等
不隶属于 StackOverflow