我正在使用CsvJdbc(它是csv文件的JDBC驱动程序)来访问csv文件。但是在阅读csv时,它会抛出以下异常。
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。 Here是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();
}
答案 0 :(得分:0)
这里有太多记录可供人工查找错误。我的建议是实现一个算法,以验证每行有12个逗号,并找出问题所在。