Avatar billede razser Nybegynder
25. januar 2005 - 21:18 Der er 2 kommentarer og
1 løsning

Importer txt-fil til Access-database

Jeg er igang med et script, der skal importere en txt-fil over i en Access-database, men hænger fast. Med jævne mellemrum sendes en txt-fil til en server, som så skal importeres over i databasen via et ASP script(VB vil måske også kunne gøre det)?

Txt-filen kunne fx. se sådan ud:

UPDATE;34567212;4;Autodele;10
UPDATE;34567212;4;Betonvarer;1005
DELETE;34567212;4;Gulve;1003

Hver linie har kommandoen: UPDATE eller DELETE. Hvis en branche/ rubrik findes, opdaterer kommandoen UPDATE med nye værdier i databasen, ellers skal linien tilføjes i en ny række. Tilsvarende sletter DELETE en række, hvis den findes, ellers skal den ignorere kommandoen. Det sidste felt er primærnøglen (10 for fx. Autoruder).

Der er 2 andre txt-filer i opgaven, dog med den forskel, at der er et par ekstra felter i databasen, som ikke er i txt-filerne. Det må dog være muligt, at funktionen efter et vist antal semikolon'er (enheder) springer ned til næste linie og fortsætter opdateringen. Alternativt går videre til næste linie, når den møder UPDATE eller DELETE?

Jeg forestiller mig, at opgaven kan løses på følgende måde:

1) Txt-filen indlæses via FSO;
2) Der laves et Array med felterne;
3) Felterne indsættes i databasen.

Det script jeg benytter til at læse txt-filen, ser sådan ud:

<%
const ForReading = 1
ImportFile = "Rubrik.txt"
strFile = Server.Mappath("/Import/"& ImportFile)
dim objFS
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFS.OpenTextFile(strFile, 1)
do while objTextStream.AtEndOfStream = false
'strImportInfo = replace((objTextStream.ReadALL), "UPDATE", "<br>")
strImportInfo = (objTextStream.ReadALL)
loop
ImportInfo = Null
objTextStream.Close
Set objTextStream=Nothing
Set objFS=Nothing

Dim MyVar
strStreng = strImportInfo
MyVar = Split(strStreng, ";")

For i = 0 To UBound(Myvar)
Response.Write(MyVar(i) & "<br>")
Next
%>

Men så er jeg gået i stå med Array'et...
Avatar billede pfp Nybegynder
25. januar 2005 - 23:45 #1
I dit gennemløb af arrayet udformer du en SQL som skal bruges for at tjekke om branchen allerede eksisterer. Såfremt posten eksisterer tjekker du om du skal UPDATE eller DELETE (f.eks. ved brug af inStr() metoden) og udfører derefter enten en update eller delete...
Avatar billede razser Nybegynder
26. januar 2005 - 09:12 #2
Har du mulighed for at vise det konkret - jeg vil gerne give flere points for det....
Avatar billede razser Nybegynder
27. januar 2005 - 15:01 #3
Jeg er gået andre veje, og lukker dette spørgsmål.
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

IT-JOB