|
|
|
| Задача состоит в том, чтобы пользователи сайта сами загружали csv-файлы в базу данных.
Написал клиентскую форму, где файл обрабатывается и попадает на сервер.
Далее, командой
LOAD DATA INFILE '/www/vhosts/host.com/html/catalog/new_indemion.csv' INTO TABLE `indemion` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'
хочу загрузить это дело в базу данных, но получаю ответ:
#1045 - Access denied for user 'indemion'@'%' (using password: YES)
Техпомощь провайдера объяснила, что так файлы загружать запрещенно.
Можно только через LOAD DATA LOCAL INFILE, что действительно работает, но увы, пустить пользователей в MyPhpAdimn я не могу :)
Как же обойти подобный запрет на команду LOAD DATA INFILE?
Может быть обработать данные методом php, потом DEL * и CREATE новую таблицу?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: Indemion
(11.07.2007 в 14:17)
| | Можно попробовать загружать не скопированный файл, а временный файл, который формируется при загрузке данных на сервер. | |
|
|
|
|
|
|
|
для: cheops
(12.07.2007 в 10:33)
| | А как? | |
|
|
|
|
|
|
|
для: Indemion
(11.07.2007 в 14:17)
| | Что мешает разобрать CSV и загрузить данные прямыми запросами?
И наконец, зачем создавать отдельную таблицу? | |
|
|
|
|
|
|
|
для: Trianon
(12.07.2007 в 11:28)
| | Если честно, то лень. Так устал программировать за этот год, а отпуска нет :) Пошел простым путем.
Я не создаю таблицу, она уже создана. Клиентам остается просто добавлять туда файлы. Можно, конечно, написать интерфейс для онлайнового ввода данных, однако через файлы это гораздо проше. | |
|
|
|