qdos Skrevet 8. oktober 2007 Del Skrevet 8. oktober 2007 Har en tekstfil på over 2GB, og som skal importeres i en SQL-base ved bruk av Access. Ettersom Access har en maksimal databasestørrelse på 2GB, får jeg ikke en gang startet denne importen. Trenger derfor et program som splitter filen i mindre deler, men slutter/begynner ved et gitt antall linjer. Det finnes fullt av programmer som gjør dette ved å splitte på filstørrelse, men jeg finner ingen som gjør dette på linjer. De få av programmene som hevder å gjøre dette, viser seg å ikke fungere når alt kommer til alt. Er det noen som vet om programmer, eller metoder, som virker på så store filer? Lenke til kommentar
schlimmest Skrevet 8. oktober 2007 Del Skrevet 8. oktober 2007 Lage en rutine selv? - Les inn kilden linje for linje, skriv lest linje til ny fil, lukk og start ny fil etter n- skrevne linjer. Sub TextSplitter() Dim fsIN, fsOut As IO.FileStream Dim sr As IO.StreamReader Dim sw As IO.StreamWriter Dim OutCount As Integer fsIN = New IO.FileStream( _ "infile.txt", IO.FileMode.Open, IO.FileAccess.Read _ ) sr = New IO.StreamReader(fsIN, System.Text.Encoding.Default) Do Dim Line As String Dim LineCount As Integer Line = sr.ReadLine() If Line Is Nothing Then Exit Do If fsOut Is Nothing Then OutCount += 1 fsOut = New IO.FileStream( _ "outfile" & OutCount & ".txt", _ IO.FileMode.CreateNew, IO.FileAccess.Write _ ) sw = New IO.StreamWriter(fsOut, System.Text.Encoding.Default) LineCount = 0 End If sw.WriteLine(Line) LineCount += 1 If LineCount = 20000 Then sw.Close() fsOut = Nothing End If Loop If fsOut IsNot Nothing Then sw.Close() End If fsIN.Close() End Sub http://www.thescripts.com/forum/thread605945.html Lenke til kommentar
qdos Skrevet 8. oktober 2007 Forfatter Del Skrevet 8. oktober 2007 Ja, jeg tenkte på å lage noe i Visual Studio, og dette kan nok gjøre susen. Takk skal du ha. Fant omsider en løsning ved å bruke csplit i gnuwin32: http://gnuwin32.sourceforge.net/packages/coreutils.htm Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå