ошибка загрузки данных в локальный файл ошибка 2 файл не найден

#mysql #load

#mysql #загрузить

Вопрос:

Я сталкивался с этой ошибкой sql около 45 минут, и у меня такое чувство, что это будет что-то глупое.

Я пытаюсь загрузить текстовый файл в свою базу данных, которая находится на другом сервере. Я использую putty в Windows 7.

Используемый мной вызов sql выглядит следующим образом: LOAD DATA LOCAL INFILE "C:/Users/Sam/Desktop/students_data.txt" INTO TABLE students;

Ответ, который я получаю, ERROR 2 (HYOOO): File 'C:/Users/Sam/Desktop/students_data.txt' not found (Errcode:2)

Если бы кто-нибудь мог пролить некоторый свет на это, это было бы экстравагантно. Я уже пробовал переключать / на и использовать одинарные кавычки и т.д., Но, похоже, ничего не работает. Путь к файлу копируется нажатием shift на фактический файл и вставкой его.

Ответ №1:

Я нашел решение. Сначала удалите слово LOCAL из инструкции sql. Во-вторых, поместите ваш файл в папку ДАННЫХ MySQL обычно — bin/mysql/ msql5.5.8/data/ и в вашу базу данных, с которой вы работаете. У меня это сработало. Возможно, вы захотите проверить номер загрузки MAX_FILE в файле php.ini, если файл большой.

Комментарии:

1. я работаю с MySQL, и первое решение в порядке .. но зачем нам нужен файл php.ini и где я могу найти php.ini, @prkarpi

2. Выполнили описанную выше процедуру, все еще сталкиваясь с ошибкой.. предоставлены права доступа к файлам для полного контроля и скопирован файл в c> programdata> mysql> mysqlserver 5.6> данные> образец . пожалуйста, помогите.

3. в моем файле почти 2 ГБ данных.

Ответ №2:

Удаление слова LOCAL , похоже, сработало для меня; попробуйте!

Ответ №3:

Попробуйте ввести путь как C:\mydir\myfile.csv , т.е. использовать \ вместо

Ответ №4:

У меня тоже была эта проблема, затем я прочитал это:

Имя файла должно быть задано в виде буквенной строки. В Windows укажите обратную косую черту в именах путей как косую черту или двойную обратную косую черту

(из http://dev.mysql.com/doc/refman/5.1/en/load-data.html )

Я использовал ключевое слово LOCAL, но избежал пути к файлу следующим образом: str_replace('\','/',$file) , тогда это сработало как шарм!

Ответ №5:

Это тоже было и решило это с помощью cmd.exe и обнаружил, что имя файла ошибочно указано в форме filename.txt.txt и исправил это.

Ответ №6:

просто замените «» на «/» в качестве каталога пути перед filename.txt in («»). будет лучше, если вы просто сохраните файл в папке данных mysql и выполните то, о чем я упоминал above.it обязательно сработает.

Ответ №7:

Извините, мой предыдущий ответ неверен.

В моем случае я подключаюсь к прокси, а не к реальному физическому экземпляру mysql, поэтому, конечно, он не смог получить мой локальный файл.

Чтобы решить эту проблему, определите истинный физический IP-адрес экземпляра mysql, подключите его напрямую. Вам нужна помощь от администратора базы данных.

Комментарии:

1. если вы находитесь в Windows, таким же образом.

Ответ №8:

  LOAD DATA  LOCAL INFILE 'C:\cygwin\home\jml58z\e_npv\Fn_awk2010.mysql' INTO TABLE mydata
  

с двойным это сработало