Avatar billede wolfgang Praktikant
22. februar 2006 - 12:56 Der er 1 kommentar og
1 løsning

Advanceret data import fra tekstfil til database

Jeg har fundet en udfordring, der går over min forstand.

Pt. har jeg kodet funktionalitet til at finde alle filer i  mappen og slette dem efter import.
Nu mangler jeg "kun" at åbne den enkelte fil og loope data igennem med insert til databasen

Min kode er bl.a. sammenflettet med hjælp fra Eksperter i tidligere spørgsmål.

Nuværende kode:
----- Eksempel på kode ------
'-- return: true hvis ikke EOF
Function SkipLines(fs, antal)
    Dim i, ret

    ret = True 'sættes til false, hvis EOF nås

    For i=1 To antal
        fs.SkipLine
        If fs.AtEndOfStream Then ret = false : Exit For
    Next

    SkipLines = ret
End Function

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("d:/data/")

For Each File In Folder.Files
    'Response.Write(File.Name & "<br>")
   
    Set fs = FSO.OpenTextFile("d:/data/"&File.Name, 1)
   
    If Not fs.AtEndOfStream Then
   
        ' spring de første to linjer over
        If SkipLines(fs, 8) Then
            Response.Write(fs.ReadLine &"<br>") '-- udskriver: Linje 3
           
            Do While not fs.AtEndOfStream
            Connect.execute("INSERT INTO tbl_data_log(logDate, logTime, logType, logValue, logLPM) VALUES ('"& logDate &"','"& logTime &"', "& logType &", '" & fs.Readline & "',"& logLPM &")")
            Loop
           
        Else
            Response.Write("linjen findes ikke i filen")
        End If
    Else
        Response.Write("filen er tom")
    End If

    fs.Close
Next

'Loop igennem filerne og slet
For Each File in Folder.Files
  file.Delete
Next
----- Eksempel på kode ------

= forklaring på data

----- Eksempel på Tekst fil ------
07-12-2005 18:00:00 = Dato og tid for startlog
60 = antal logninger i timen
9 = samlet antal logninger i denne fil
3 = antal af kategorier
Temperatur = kategori     
PH = kategori             
Pumpe = kategori         
1400 = værdi - passer til 1. kategori
1400 = værdi - passer til 1. kategori
1400 = værdi - passer til 1. kategori
752 = værdi - passer til 2. kategori
752 = værdi - passer til 2. kategori
753 = værdi - passer til 2. kategori
0 = værdi - passer til 3. kategori
1 = værdi - passer til 3. kategori
0 = værdi - passer til 3. kategori
----- Eksempel på Tekst fil ------

Jeg håber I kan hjælpe at fange det rigtige data i filen.
(linje 1) 1. linje skal splittes op så dato og klokkeslæt postes til 2 felter i tabellen.
(linje 2) Antallet af logninger i timen skal postes for hver logning.
(linje 3) Bruges sammen med linje 4 til at finde hvor mange poster der er til hver kategori.
(linje 4) Do
(linje 5,6,7) postes sammen med værdien
Alle linjer herefter indeholder værdier.

Jeg glæder mig til at høre fra jer.

MVH
Henrik
Avatar billede wolfgang Praktikant
23. februar 2006 - 09:11 #1
Er der nogen med et bud?
Avatar billede wolfgang Praktikant
27. februar 2006 - 10:21 #2
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester