【问题标题】:Using JET OLEDB Provider, How to query headerless text file using a WHERE clause?使用 JET OLEDB Provider,如何使用 WHERE 子句查询无标题文本文件?
【发布时间】:2012-05-01 01:17:11
【问题描述】:

这可能是一个愚蠢的问题,但我无法弄清楚正确的语法,或者这是否可能。

我有一个使用 Microsoft.Jet.OLEDB.4.0 Provider 查询的文本文件。文本文件是一个无标题的 CSV,看起来有点像这样:

4/11/2012 9:20:19 AM,USERID,GROUPNAME
4/12/2012 9:20:19 AM,USERID2,GROUPNAME3
4/13/2012 10:45:15 AM,USERID3,GROUPNAME2

我可以使用SELECT * FROM... 查询整个文本文件,但我希望能够在其中一列上查询它。 SELECT * FROM myTextFile.txt WHERE column2='USERID'

我的问题是,当没有标题时如何指定列?有没有办法指定第二列?类似WHERE {1}='USERID'

感谢您提前回复!

【问题讨论】:

  • 您使用的是schema.ini file吗?试试...WHERE F2 = 'USERID'
  • @onedaywhen 我不使用 schema.ini 文件,但我并不反对。我需要在其中添加什么才能将 F2 指定为第二列?
  • 您需要在连接字符串中包含HDR=No。以下文章可能有用:Much ADO About Text Files.

标签: sql scripting vbscript adodb jet


【解决方案1】:

默认情况下,字段命名为 F1、F2、F3 等。

因此,在您的情况下,您可以使 SQL 字符串如下所示:

SELECT * FROM myTextFile.txt WHERE F2='USERID'

[编辑] 我刚刚看到@onedaywhen 的评论...他是对的,我用过它并且有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2023-04-03
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    相关资源
    最近更新 更多