M Masa Medlem sedan jan. 2001 52 inlägg Trådstart 31 aug. 2001 07:22 #1 Hej
Hur gör man för att läsa in en textfil som är avdelat med semikolon och sen skicka in det som finns mellan semikolonen i en databas?
Tex: Tomas;Andersson;tomas@email.se
Olle;Olson;olle@email.se
Sven;Svensson;sven@email.se
info om en member finns på en rad, så nåt med readline vore ju bra..
Tomas
L LarsG Medlem sedan dec. 2000 12 464 inlägg Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile (Server.Mappath ("textfil.txt"),ForReading, False)
set connect = server.createobject("adodb.connection")
connect.open "dsn"
do while not instream.atEndOfStream
row = instream.readline
items = split(row,";")
sql = "insert into members(fname,lname,email) values ('" & items(0) & "','" & items(1) & "','" & items(2) & "')"
connect.execute sql,,128
loop
instream.close
connect.close
ungefär så. (Dvs det är otestat)
Är okej prestandamässigt för små filer.
I och för sig verkar en sådan övning lite onödig då det flesta dbms brukar ha någon utility för att ladda in data från sekventiella filer.
M Masa Medlem sedan jan. 2001 52 inlägg Ok tack ska du ha...hänger med på allt utom "sql,,128" vad gör det för nåt?
Det är meningen att members ska kunna ladda upp sina email listor och läsa in dom i databasen..kan det göras med det utilites du paratar om? vilket är det? kör med MS sql(rätt grön)..
Tomas
L LarsG Medlem sedan dec. 2000 12 464 inlägg BCP = bulk copy. Ett verktyg för att ladda data från vanliga filer.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_mta_01_2ii8.asp
128 = adExecuteNoRecords
det betyder att ado inte skapar något recordset alls.