我正在使用CsvJdbc(它是csv-files的jdbc驱动程序)访问csv-file。但是在读取csv时,它抛出了下面的Exception:
java.sql.SQLException: Line contains wrong number of columns: 5 13
at org.relique.jdbc.csv.CsvReader.getEnvironment(Unknown Source)
at org.relique.jdbc.csv.CsvResultSet.next(Unknown Source)
at com.quicklyjava.MLUData.mlu(MLUData.java:66)
at com.quicklyjava.MLUData.main(MLUData.java:118)
它正在打印输出,但之后它抛出上面提到的异常。它显示它正在读取csv文件。这是csv文件的链接。有人能帮我一下吗?提前感谢!
代码如下:
Properties props = new java.util.Properties();
Class.forName("org.relique.jdbc.csv.CsvDriver");
Connection conn = DriverManager.getConnection("jdbc:relique:csv:D:\CSVs");
props.put("separator", ",");
Statement stmt = conn.createStatement();
String query = "SELECT * FROM "
+ locale.getCsvFileName()
+ " WHERE ID =".concat("'").concat(adpItemId)
.concat("'");
ResultSet results = stmt.executeQuery(query);
System.out.println("Locale is: " + locale.getCsvFileName());
while (results.next()) {System.out.println(results
.getString("Object_Type_Name"));
}
listMLU.add(mlu);
// System.out.println("Done for "+locale.getCsvFileName());
// clean up
results.close();
stmt.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
这里有太多的记录,一个人手动查找错误。我的建议是实现一种算法来验证每行有12个逗号,并找出问题所在。