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
