通过 JDBC 在 CSV 文件上执行 SQL
我需要将SQL查询应用于CSV文件(逗号分隔的文本文件)。我的 SQL 是从其他工具预定义的,不符合更改的条件。它可能在 FROM 部分中包含嵌入的选择和表别名。
对于我的任务,我发现了两个提供JDBC驱动程序的开源(这是项目要求)库:
- CsvJdbc
- XlSQL
- JBoss Teiid
- 创建一个 Apache Derby 数据库,将所有 CSV 作为表加载并执行查询。
这些是我遇到的问题:
- 它不接受SQL的语法(它使用内部选择和表别名)。此外,自2004年以来一直没有维持。
- 我无法让它工作,因为它具有一个SAX解析器,在解析其他文档时会导致异常。同样,自2004年以来没有变化。
- 尚未检查它是否支持语法,但似乎有开销。它需要多个实体定义(虚拟数据库、绑定)。从邮件列表中,他们告诉我,上一个版本支持创建所需对象的运行时。有没有人用它来执行如此简单的任务(通常它可以连接到几种类型的数据,如CSV,XML或其他DBS,并创建一个虚拟的,统一的)?
- 这甚至可以很容易地完成吗?
从我考虑/尝试过的4件事来看,只有3和4在我看来是可行的。关于这些或查询CSV文件的任何其他方式的任何建议?
干杯