Мне нужно обновить таблицу, используя массовое обновление в Eclipse. Запрос выглядит следующим образом:BULK UPDATE с использованием файла в Eclipse
BULK INSERT test_db.temp_accounts FROM 'test_file.txt' WITH (FIELDTERMINATOR = ' ', ROWTERMINATOR = '\n')
Но проблема в том, когда я использую это в Eclipse, после подключения к базе данных с помощью JDBC соединения, что я получаю это ошибка синтаксиса.
Фрагмент кода ниже:
Connection c = DriverManager.getConnection(CONNECTION,p);
PreparedStatement stmt = c.prepareStatement("BULK INSERT test_db.temp_accounts FROM 'test_file.txt' WITH (FIELDTERMINATOR = ' ', ROWTERMINATOR = '\n')");
try
{
}catch (Exception e) {
e.printStackTrace();
}finally {
stmt.close();
c.close();
}
Файл «test_file.txt» находится в том же каталоге, что и файл класса Java. Может кто-нибудь, пожалуйста, укажите правильный синтаксис здесь, спасибо.
В журналах ошибок говорится: «У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« BULK INSERT »в test_db.temp_accounts FROM« test_file.txt »WITH (FIELDTERMINATO 'в строке 1. Я использую серверную версию SQL 5.1.69. Абсолютный путь тоже не работает. – pkumar
Вы пытались использовать PreparedStatement # addBatch() и PreparedStatement # executeBatch(), как показано в следующем потоке: http: //stackoverflow.com/questions/4355046/java-insert-multiple-rows-into-mysql-with-preparedstatement – blackpanther