Java 使用CsvJdbc读取多个csv文件

Java 使用CsvJdbc读取多个csv文件,java,csv,jdbc,csvjdbc,Java,Csv,Jdbc,Csvjdbc,我需要以“YYYY-MM-DD hh:MM:ss.csv”格式将一组csv文件绑定到一个唯一的表中,该表包含所有文件中的所有数据 我需要从JavaEE应用程序中读取数据,因此我希望在应用程序服务器中创建一个连接池。我找到了CsvJdbc驱动程序,它允许将多个文件作为单个实体读取。一个很好的起点是本段中的第页: 要将多个文件(例如,每日日志文件)作为单个表读取,请设置数据库连接属性indexedFiles。下面的示例演示如何执行此操作 这个例子对我来说很好,但问题是我的文件名字符串中没有标题词。因

我需要以“YYYY-MM-DD hh:MM:ss.csv”格式将一组csv文件绑定到一个唯一的表中,该表包含所有文件中的所有数据

我需要从JavaEE应用程序中读取数据,因此我希望在应用程序服务器中创建一个连接池。我找到了CsvJdbc驱动程序,它允许将多个文件作为单个实体读取。一个很好的起点是本段中的第页:

要将多个文件(例如,每日日志文件)作为单个表读取,请设置数据库连接属性indexedFiles。下面的示例演示如何执行此操作

这个例子对我来说很好,但问题是我的文件名字符串中没有标题词。因此,相应的表变成了一个空字符串,显然无法查询该表

我如何告诉驱动程序将模式映射到没有标题部分的表


另外,我已经尝试使用hsqldb作为csv文件的前端,但它不支持多个文件。

设置CsvJdbc以读取中所述的多个文件,然后在SQL查询中使用空表名,因为您的csv文件名在fileTailPattern正则表达式之前没有任何头。例如:

    props.put("fileTailPattern", "(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)"); 
    props.put("fileTailParts", "Year,Month,Day,Hour,Minutes,Seconds");

    ...

    ResultSet results = stmt.executeQuery("SELECT * FROM \"\" AS T1");