Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    ASP e MySQL: LOAD DATA INFILE

    Ciao a tutti.

    In una cartella del server mi ritrovo un certo numero di file di testo del tipo:

    _EBT_2010_AA80.txt

    Hanno tutti lo stesso nome tranne la parte finale, cioè:

    _EBT_2010_AA30.txt
    _EBT_2010_AA67.txt
    _EBT_2010_AA45.txt

    Devo importarli in mysql con questa sintassi:

    codice:
       strSql = " LOAD DATA INFILE 'C:/inetpub/BOX/_EBT_2010_AA80.txt' "
       strSql = strSql & " INTO TABLE _temp "
       strSql = strSql & " FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ; "
       cn.execute strSql
    Devo fare enne query quanti sono i files txt (4 in questo caso) da importare o esiste un altro modo più rapido?

    I files txt possono anche essere 30 in una sola volta...

    Grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Se vuoi fare una procedura automatica tramite filesystemobject puoi fare un ciclo su tutti i files e per ognuno eseguire quella query
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da kalosjo
    Se vuoi fare una procedura automatica tramite filesystemobject puoi fare un ciclo su tutti i files e per ognuno eseguire quella query
    Grazie, ma non mi è chiaro quello che suggerisci.
    Hai un esempio da cui prendere spunto ?
    Ciao
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Se cerchi su questo forum filesystemobject trovi una valle
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Grazie, ho fatto così e funziona:

    codice:
       Set cn = CreateObject("ADODB.Connection")
       cn.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=_DB;USER=root;PASSWORD=XXXXXX;OPTION=3;" 
       
       set fs = CreateObject("Scripting.FileSystemObject")
       
       if fs.FileExists("C:/inetpub/BOX/_EBT_2010_AA80.txt") = true then
    
       strSql = " LOAD DATA INFILE 'C:/inetpub/BOX/_EBT_2010_AA80.txt' "
       strSql = strSql & " INTO TABLE _temp "
       strSql = strSql & " FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ; "
       cn.execute strSql
    
       end if
       
       set fs = nothing
      
       cn.Close()
       Set cn = Nothing
    Ma devo ripetere la stessa operazione per quanti sono i files txt da importare nel db?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    si ma la puoi fare con un ciclo senza neanche preoccuparti del nome del file, tipo

    codice:
    Set cn = CreateObject("ADODB.Connection")
    Set fso = CreateObject("Scripting.FileSystemObject")
    set radice = fso.getFolder("C:/inetpub/BOX/")
    Set Myfiles = radice.Files
    For Each fs in Myfiles
       strSql = " LOAD DATA INFILE 'C:/inetpub/BOX/" & fs.name & "' "
       strSql = strSql & " INTO TABLE _temp "
       strSql = strSql & " FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ; "
       cn.execute strSql
    next
    set fs = nothing
    cn.Close()
    Set cn = Nothing
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Fantastico, grazie mille !

    Scusa la domanda ma se nella stessa cartella ho dei files con nome diverso e che non mi interessa importare, como posso escluderli?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    mi sa che l'unica è verificarne il nome fs.name
    (if left(fs.name,9)="_EBT_2010".... ad esempio) a meno che non abbiano qualche altro tratto distintivo che ti permette di escluderli dal ciclo
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da supermac
    mi sa che l'unica è verificarne il nome fs.name
    (if left(fs.name,9)="_EBT_2010".... ad esempio) a meno che non abbiano qualche altro tratto distintivo che ti permette di escluderli dal ciclo
    Ottimo e abbondante!
    Grazie mille!
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    poter aiutare è un piacere
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.