Newsgroup: it.comp.software.database
Titolo: Importazione file txt in Mysql

Buonasera!
Sono principiante di Mysql e Php e ho alcune difficoltà a trovare la 
soluzione per l'importazione di dati in Mysql.
Il db di partenza dove risiedono i dati aziendali e MsSQL2000.
Da questo db estraggo i dati da un serie di tabelle e li esporto tramite DTS 
in una serie di files txt diversi per ogni tabella di Mysql ovvero il db del 
sito web.
In origine avevo fatto uno script php che per mezzo di query Insert accodava 
i dati contenuti nei files txt nelle tabelle Mysql e impiegavo circa dieci 
minuti nel sito web locale ( su pc).
Poi ho scoperto che in Mysql esiste "LOAD DATA INFILE" che ho utilizzato al 
posto delle query Insert. Così i tempi si sono ridotti in una decina di 
secondi.
EVVIVA!!!
Evviva per poco, perchè tale comando sembra non sia utilizzabile in una SP. 
Infatti mi sarebbe piaciuto sostituire lo script php con una SP.
Non c'è proprio modo di  eseguire il comando "LOAD DATA INFILE" all'interno 
di una SP?
Inoltre la seconda sorpresa è che "LOAD DATA INFILE"  sembra obbligare a 
specificare un percorso client (per esempio: 
c:/miopercorso/filestxt/nomefile.txt), ma che in un server web non saprei 
come indicare, perchè pare non è sufficiente specificare "filestxt/".
Ho qualche possibilità di risolvere il mio problema, oppure devo tornare 
allo script originale con Insert e tempi di elaborazione di dieci minuti?
Grazie
Ciao
Eugenio 


Se il file da caricare risiede sulla macchina client non fai altro che
specificare LOAD DATA LOCAL INFILE e il tuo percorso (es: c:/
miopercorso/filestxt/nomefile.txt). Non è necessario che il file da
caricare risieda sul server.
Spero di esserti stato utile.
Ciao
--
Corrado Pandiani
MySQL 5 Developer/DBA certified
blog.pandiani.com


Se il file da caricare risiede sulla macchina client non fai altro che
specificare LOAD DATA LOCAL INFILE e il tuo percorso (es: c:/
miopercorso/filestxt/nomefile.txt). Non è necessario che il file da
caricare risieda sul server.
Spero di esserti stato utile.
Ciao
--
Corrado Pandiani
MySQL 5 Developer/DBA certified
blog.pandiani.com
No, i files txt risiedono sul server web e non potendo usare una SP, devo 
poter usare almeno uno script php da lanciare via web. Il problema è quind 
come specificare un percorso web, visto che ho provato, ma non sono iuscito 
a farlo funzionare.
Grazie
Ciao
Eugenio 

 
Ciao,
scusami ma mi sono perso i msg precedenti.
Cmq, una cosa del genere non funzia??
http://IP_del_server/tuo_percorso/nome_del_file
Io ho provato sul mio server e devo dire che funzia.
Alla prossima.
	MAX

"massimo61"  ha scritto > Eugenio ha scritto:

No, purtroppo non funziona nemmeno così.
Io ho specificato nel percorso
http://localhost/rma/filestxt/azienda.txt
ma ricevo il seguente messaggio
Accodamento 'azienda' terminato in modo anomalo.File 
'http:\\localhost\rma\filestxt\azienda.txt' not found (Errcode: 22).
Barre che vengono cambiate a parte, il file azienda.txt sicuramente esiste. 
Infatti se specifico nel browser l'indirizzo, mi viene mostrato il contenito 
del file di testo.
Grazie
Ciao
Eugenio 

 
Prova a guardare il contenuto del DB prima e dopo l'accodamento.
Dall'errore riportato, IMHO, non si tratta di percorso, ma di contenuto.
Alla prossima.
	MAX

 
domande
- il server in questione è un linux o un windows ?
- hai accesso al server in shell ad esempio?
- questi file txt ce li hai messi tu (ergo dovresti sapere esattamente 
dove sono) o li ha messi qualcun altro che ti nasconde l'informazione?
- l'utente che deve eseguire la query possiede il privilegio FILE?
mi pare di intuire che il problema sia che tu non sappia la "root 
directory" del web server che utilizzi. E' corretto?
-- 
Corrado Pandiani
MySQL 5 DBA Certified
MySQL 5 Developer Certified
http://blog.pandiani.com
http://www.pandiani.com

 MAX
No, il problema non č sicuramente il contenuto, perchč con le query importo 
regolarmente i dati.
Grazie
Ciao
Eugenio 

 
http://www.pandiani.com
Grazie
Ciao
Eugenio