2011-10-02 8 views
10

Sono stato a sbattere la mia faccia contro questo errore SQL per circa 45 minuti, e ho la sensazione che sarà qualcosa di sciocco.caricamento dati locale infile ERRORE 2 file non trovato

Sto provando a caricare un file .txt nel mio database, che si trova su un server altrove. Sto usando il mastice su Windows 7.

La chiamata sql sto utilizzando è il seguente: LOAD DATA LOCAL INFILE "C:/Users/Sam/Desktop/students_data.txt" INTO TABLE students;

La risposta che ottengo è ERROR 2 (HYOOO): File 'C:/Users/Sam/Desktop/students_data.txt' not found (Errcode:2)

Se qualcuno potesse fare luce su questo che sarebbe essere stravagante Ho già provato a passare da / a \ e utilizzare virgolette singole, ecc., Ma nulla sembra funzionare. Il percorso del file viene copiato da MAIUSC + clic sul file effettivo e incollandolo.

risposta

2

La rimozione della parola LOCAL sembrava funzionare per me; Provalo!

5

Ho trovato una soluzione. Prima cancella la parola LOCAL dall'istruzione sql. Secondo: posizionare il file nella cartella DATI MySQL di solito - bin/mysql/msql5.5.8/data/e il DB con cui si sta lavorando. Ha funzionato per me. Se il file è di grandi dimensioni, potresti voler controllare il numero di caricamento MAX_FILE nel file php.ini.

+0

sto lavorando con MySQL e la prima soluzione va bene .. ma perché abbiamo bisogno del file php.ini e dove posso trovare php.ini, @prkarpi – saikiran

+0

Ho fatto la procedura sopra ancora di fronte all'errore .. dati i permessi dei file per il controllo completo e il file copiato in c> programdata> mysql> mysqlserver 5.6> dati> campione. per favore aiuto. – saikiran

+0

il mio file ha quasi 2 GB di dati. – saikiran

1

ho avuto anche questo problema, poi ho letto questo:

Il nome del file deve essere data come una stringa letterale. Su Windows, specificare backslash nei nomi di percorso, come le barre o backslash raddoppiato

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

ho ha utilizzare la parola chiave LOCAL, ma riuscì a fuggire il percorso del file in questo modo: str_replace('\\','/',$file), allora ha funzionato come un fascino!

0

Aveva anche questo e risolto utilizzando cmd.exe e trovato che il nome del file era erroneamente nella forma nomefile.txt.txt e risolto.

0

basta sostituire "\" con "/" come directory del percorso prima di filename.txt in (""). sarà meglio se manterrai il file nella cartella dati mysql e farai la cosa che ho menzionato sopra.it funzionerà sicuramente.

Problemi correlati