2013-08-08 1 views
0

Как исправить ошибку, и мне нужно импортировать (хранилище) файлов CSV в таблицу базы данных MySQLCsv файл таблицы базы данных MySQL

Class.forName("com.mysql.jdbc.Driver"); 
    java.sql.Connection c = null; 
    c = DriverManager.getConnection("jdbc:mysql://localhost:3306/Sample", "root", "root"); 
    Statement s = null; 
    s = (Statement) c.createStatement(); 
    int i = s.executeUpdate("load data local infile 'E:\\Book1.csv' into table sample.copy_table fields terminated by ',' optionally enclosed by '"' lines terminated by '\r\n'"); 

Возвращенные ошибки:

Error:Invalid character constant in this line ("load data local infile'E:\\Book1.csv'.......) 
java.sql.SQLException: Unable to open file 'E:Book1.csv'for 'LOAD DATA LOCAL INFILE' command.Due to underlying IOException: 

** BEGIN NESTED EXCEPTION ** 

java.io.FileNotFoundException 
MESSAGE: E:Book1.csv (The system cannot find the file specified) 
+0

... и в чем же проблема? Некоторое сообщение об ошибке? Неправильно импортированы данные? –

+2

Поскольку вы находитесь на Java, я думаю, что вы должны «заканчивать» \\ r \\ n'' и, возможно, также '' E: \\\\ Book.csv''. Это потому, что литерал, который вы пишете, будет экранирован Java, который передаст его на SQL-сервер, который снова удалит его. Если вы пишете '\\ B', сервер получает' \ B'. –

ответ

1

Попробуйте это, вы забыли выход ":

int i = s.executeUpdate("load data local infile 'E:\\Book1.csv' into table sample.copy_table fields terminated by ',' optionally enclosed by '\"' lines terminated by '\r\n'"); 

 Смежные вопросы

  • Нет связанных вопросов^_^