Я вставляю данные из файла CSV в базу данных MySql, особенно в одну таблицу.Как решить данные Усеченные?
Я использую CSVRead и формат файла CSV является:
ц, Вэл
2013-03-31T23: 45: 00-04: 00 New_York, 10
И таблица hisdata(ts, val)
.
Вот мой код:
try{
try {
CSVReader reader = new CSVReader(new FileReader(csvFile));
List<String[]> csvList;
csvList = reader.readAll();
System.out.println("Start: size is " + csvList.size());
for(int i = 0; i<csvList.size(); i++){
String[] eachStr = csvList.get(i);
int j = 0;
//insert(ts, val) into hisdata of sql
String sql = "INSERT INTO hisdata" + "(ts, val)" + " VALUES"
+ "('" + eachStr[j] + "', '" + eachStr[j+1] + "')";
Statement st = (Statement) conn.createStatement();
count = st.executeUpdate(sql);
}
System.out.println("access table is inserted: " + count
+ " records");
reader.close();
} catch(IOException e){
System.out.println("Error: " + e.getMessage());
}
conn.close();
} catch (SQLException e) {
System.out.println("insert is failure " + e.getMessage());
}
Я думаю, что, вероятно, данные импорта является слишком большим. Когда я сделал size()
, размер 8835. В принципе, я устанавливаю разъем. Затем прочитайте CSV-файл и вставьте данные по строкам. Наконец, я закрыл читателя и связь.
Вот консоль распечатывают:
Sql Connection starts
Driver loaded
Database connected
Start: size is 8835
insert is failure Data truncated for column 'val' at row 1
ли проблема данных слишком велик.
Просьба помочь решить эту проблему.
Благодарим вас за советы. Оно работает! – Eric