#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
с двойным это сработало