Visualizzazione dei risultati da 1 a 8 su 8

Discussione: importare un file txt

  1. #1

    importare un file txt

    Salve, sto creando una piccola funzione per schedulare il download di 4 file .txt da quattro domini diversi, questi file, una volta scaricati in locale sulla mia macchina, devono essere importati in una tabella mySQL, potreste darmi una dritta su come realizzare uno script del genere?
    Attualmente mi basta avere un avvio manuale della funzione, in seguito sarà schedulata.

    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    Lo vuoi salvare direttamente nel database?
    o devi fare un parsing del file?

  3. #3
    Devo fare un parsing infatti, questi file contengono una serie di informazioni che io devo scrivere all'interno di una tabella. Il sistema dovrà fare una serie di operazioni di scrittura. A me basta avere un input di come fare il file poi il dettaglio cercherò di farlo da solo. Grazie

  4. #4
    Nessuno che mi da un piccolo supporto? Grazie

  5. #5
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    Utilizzare 4 file XML?
    non son + semplici da gestire ?

    cmq i file txt li puoi sviluppare come vuoi, puoi dividerli a sezioni
    ES:
    [Sezione1]
    campo = valore
    campo = valore
    campo = valore
    campo = valore
    ecc....

    [sezione2]
    campo = valore
    campo = valore
    campo = valore
    campo = valore

    e via cosi....


  6. #6
    Grazie Franz78 ma io in realtà ho bisogno di uno script (da poter poi tranquillamente ampliare io) in asp.net che mi permetta di leggere file già pronti ed importarli sul DB.

  7. #7

    prova con questo se riesci

    non va in errore, ma mi inserisce solo la prima righa non ho idea di dove possa essere l'errore....non luppa un fico secco
    codice:
    Dim i As Long = 0
    Dim sr As StreamReader = New StreamReader("C:\Fornitori.txt")
    Dim line As String = sr.ReadLine()
    Dim dbConn As SqlConnection = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & pAssoluto & "\App_Data\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
    Dim dbCmd As SqlCommand = New SqlCommand()
    dbCmd.Connection = dbConn
    Dim wholeFile As String = sr.ReadToEnd()
    Do
    Dim fields() As String = line.Split(";")
    dbCmd.CommandText = "INSERT INTO Clienti(id, nomeF, email, valutazione, descrizione, cell, fax, tel, stato, dataStato, ggS, mmS, yyyyS, localita, responsabile, web, area)VALUES('" & fields(0) & "','" & fields(1) & "', '" & fields(2) & "', '" & fields(3) & "', '" & fields(4) & "', '" & fields(5) & "', '" & fields(6) & "', '" & fields(7) & "', '" & fields(8) & "', '" & fields(9) & "', '" & fields(10) & "', '" & fields(11) & "', '" & fields(12) & "', '" & fields(13) & "', '" & fields(14) & "', '" & fields(15) & "', '" & fields(16) & "' )"
    dbConn.Open()
    dbCmd.ExecuteNonQuery()
    i = i + 1
    line = sr.ReadLine()
    Loop While Not line = String.Empty
    dbConn.Close()

  8. #8
    In teoria se togli questa riga
    Dim wholeFile As String = sr.ReadToEnd()
    dovrebbe funzionare...
    infatti se non erro questa istruzione ti porta alla EOF e quindi giustamente non loopa...
    poi ho qualche dubbio sulla riga del while; personalmente avrei usato qualcosa del tipo

    codice:
    Loop While Not sr.EndOfStream
    dovresti chiudere anche l'oggetto streamReader oltre che il db... (?)

    un ultima considerazione... a che ti serve la variabile i ???
    (a meno che non ti serva più avanti nel codice...)

    P.S. attento che se il file è vuoto mi sa che cmq genera errore... al limite sposta il while sulla riga del do.
    E sempre per evitare errori farei anche un controllo sull'esistenza del file

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.