проблема при импорте данных из текста в MySQL - PullRequest
2 голосов
/ 24 февраля 2009

Я использовал приложение для импорта некоторых данных из текстового файла в MySQL. Я использовал следующий код.

try
{
   stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                               ResultSet.CONCUR_UPDATABLE);
   stmt1= (Statement) conn.createStatement();
   int deleteRows = stmt1.executeUpdate("delete  from powerdata where dateformat < dateformat_sub(now(), interval 8 month)");
   query = "LOAD DATA LOCAL INFILE \"E:\\powerdata.txt\" INTO TABLE powerdata  set dateformat=str_to_date(date, '%m/%d/%Y' '%H:%i:%s');";
   int Update= stmt.executeUpdate(query);
}

Но запрос на загрузку данных из текста в mysql является нулевым. Кто-нибудь может сказать мне, где я допустил ошибку?

Ответы [ 2 ]

1 голос
/ 04 марта 2009

Может быть, проблема в бите \"E:\\powerdata.txt\"? Вы избегаете кавычек, но не избегаете обратной косой черты. Это означает, что ваш запрос на самом деле выглядит так: ЗАГРУЗИТЬ ДАННЫЙ ЛОКАЛЬНЫЙ ИНФИЛЬ «E: \ powerdata.txt» В СТОЛ.

Чтобы исправить имя файла, используйте \"E:\\\\powerdata.txt\".

0 голосов
/ 24 февраля 2009

Возможно, вы не предоставили пользователю, которому вы используете FILE привилегии. Если вы посмотрите документацию , они говорят о привилегиях, которые удаленному пользователю потребуется для загрузки данных с помощью LOAD DATA LOCAL INFILE. Есть веская причина, по которой это отключено, поэтому будьте осторожны, если вы включите его.

...