【问题标题】:CSV access via ADO.NET in 64-bit?通过 64 位的 ADO.NET 访问 CSV?
【发布时间】:2009-01-12 09:37:57
【问题描述】:

在 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"

但是显然没有 64 位版本的 OLEDB Jet 驱动程序或 ODBC 文本驱动程序。

我可以逐行解析 CSV 或在 32 位模式下运行应用程序,但理想情况下,我只想找到一个以 64 位运行的不同驱动程序。

有什么想法吗?

【问题讨论】:

    标签: ado.net csv odbc oledb


    【解决方案1】:

    我遇到了同样的问题,经过多次试验和错误,我发现这是有效的:

    1.启用临时程序

    sp_configure 'show advanced options', 1;
    RECONFIGURE;
    GO
    sp_configure 'Ad Hoc Distributed Queries', 1;
    RECONFIGURE;
    GO
    

    2。在服务器上安装此文件:

    http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

    3。使用这种查询格式:

    SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\SQL\;HDR=Yes;','SELECT * FROM [test.csv]');
    

    4.启用 OLE 自动化程序:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE with override
    GO
    sp_configure 'Ole Automation Procedures', 1;
    GO
    RECONFIGURE with override;
    GO
    

    【讨论】:

      【解决方案2】:

      这不是驱动程序,但我对 Sebastien Lorion 的 CSV 阅读器很满意。请注意,我从未在 64 位环境中使用过它,但我不知道有任何兼容性问题。

      http://www.codeproject.com/KB/database/CsvReader.aspx

      【讨论】:

      • 请注意,MSFT 最近重新发布了一个处理 CSV 的 64 位驱动程序。有关详细信息,请参阅下面的答案。
      【解决方案3】:

      亚历克西斯,

      您需要司机吗?如果您只需要逐行读取 CSV 文件,则有许多免费的解析器。如果您还需要写出 CSV,请查看 FileHelpers

      【讨论】:

      • 我不需要需要驱动程序,但是安装驱动程序和更改连接字符串的工作量几乎为零,而做其他事情的工作量则略大于 0 .看来我得做点别的了:)
      【解决方案4】:

      我最终不得不将我的应用程序转换为 32 位,因为我遇到了同样的问题,尽管访问的是 Microsoft Access 数据库。我知道这会起作用,但你可能不想要这个解决方案。如果有人知道这个问题的答案,我也很乐意听到。

      【讨论】:

        【解决方案5】:

        你很幸运——2010 年 12 月,Microsoft 发布了用于 CSV 和 XLSX 文件的 64 位 OLEDB 驱动程序!

        请参阅this answer 获取下载链接、安装详细信息、连接字符串等。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-03-24
          • 1970-01-01
          • 1970-01-01
          • 2012-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-28
          相关资源
          最近更新 更多