66326
Goto Top

txt-File in Access

Hey Leute, ich hab mal wieder ein Problem, ich möchte ein TXT in Access übertragen. wäre ja auch kein problem, wenn das Dokument wie eine >CSV oÄ geschrieben wäre.

Leider ist es so, das die Atribute nicht hintereinanderweg geschrieben sind, sodass ich einfach sagen könnte *mit Punkt oder Komma getrennt.*

in der test.txt finden man es in der Form wieder:


MFN: 1

50: Abisynia
55: Abram¢w
60: 650 -lecia
230: Administracje dom¢w mieszkalnych
237: Abrasives Materials Tools
346: dolno˜l¥skie
347: aleksandrowski

MFN: 2

50: Abramowice Ko˜cielne
55: Adam¢w pow. ˆukowski
60: 100 -lecia
230: Administracje obiekt¢w u¾yteczno˜ci publicznej
237: Accommodation - Private
346: kujawsko-pomorskie
347: augustowski

MFN: 3

50: Abramowice Prywatne
55: Adam¢w pow. zamojski
60: 600 -lecia
230: Adresowo-wysyˆkowe usˆugi
237: Accounting Services
346: lubelskie
347: bartoszycki

[...]
usw, usw

bekomme ich das irgendwie durch ein VBS oder so hin, dass es so in eine Datenbank geschrieben wird, dass ich insgesamt ( Spalten oder so habe. mit den Überschriften "MFN", "50", "55"... usw.... und die jeweiligen Daten dann richtig eingeflegt werden?

wäre cool. wenn mir irgendwie zu helfen ist... MfG

Content-Key: 91987

Url: https://administrator.de/contentid/91987

Ausgedruckt am: 29.03.2024 um 15:03 Uhr

Mitglied: Nailara
Nailara 14.07.2008 um 19:58:46 Uhr
Goto Top
Privjet ....

Das geht bestimmt mit VBS oder besser noch mit Perl (www.activestate.com), doch warum gleich in die DB schreiben, mach doch mit dem Skript erstmal eine CSV draus, dann kannste das bequem einlesen ....

Grüße Mathias
Mitglied: Biber
Biber 14.07.2008 um 20:11:11 Uhr
Goto Top
Moin Gluematic,

hmm, es gibt mehrere Varianten, die sich im Aufwand und Nutzen unterscheiden.

An Quick& dirty-HauWechDenKram-Lösung würde ich natürlich einen Batch-Paarzeiler empfehlen, der das ganze Gelumpe in eine CSV-Dateie packt... das Format kann jeder lesen, der nicht in der F.D.P. oder neben der Musicbox grossgeworden ist.
Sogar Access.

Das wäre im Rohbau zusammengebrezelt so etwas:
:: ---------MFNs2CSV.cmd
@echo off & setlocal enableDelayedExpansion
Set "inputfile=%temp%\input.txt"  
Set "Header=MFN;F50;F55;F60;F230;F237;F346,F347"  
echo %Header%
:: For  /f "tokens=1,* delims=: " %%i  in (%inputfile%) do @echo [%%i] [%%j 
:: echo on
For  /f "tokens=1,2 delims=:" %%i  in (%inputfile%) do (  
  If "%%i" EQU "MFN" (  
     set "MFN=%%j"  
     If defined csvline echo !csvline!
     Set Csvline=%%j
  ) Else ( 
     Set csvline=!Csvline!;%%j
))
@echo %csvline%
Output Deiner Vorlage wäre dann so,
>e:\Schnipsel\MFNs2CSV.cmd
MFN;F50;F55;F60;F230;F237;F346,F347
 1 ; Abisynia; Abramów; 650 -lecia; Administracje domów mieszkalnych; Abrasives Materials Tools; dolnoÿlÑskie; aleksandrowski
 2 ; Abramowice Koÿcielne; Adamów pow. êukowski; 100 -lecia; Administracje obiektów u¥ytecznoÿci publicznej; Accommodation - Private; kujawsko-pomorskie; august
 3 ; Abramowice Prywatne; Adamów pow. zamojski; 600 -lecia; Adresowo-wysyêkowe usêugi; Accounting Services; lubelskie; bartoszycki


Möchte ich jetzt nicht weiter kommentieren.... würde ich eh noch nicht empfehlen.
Vorher wäre zu klären,
  • einmaliger oder regelmäßiger Import?
  • Eher 100 oder eher 100 Trilliarden Datensätze?
  • ist Geschwindigkeit ein Kriterium oder kann der Batch vor sich hin atmen, während Du Dir derweil eine "Die 500 größten Hits der wilden 93er"-Show antust?

Grüße
Biber
Mitglied: 66326
66326 15.07.2008 um 14:45:41 Uhr
Goto Top
Habt ersteinmal für die Antworten dank,
im Grunde genommen soll es ein einmaliger Import sein. ggf irgendwann, wenn neue Daten vorhanden seind, nochmal - aber kein regelmäßiger import.
Um die Frage der Anzahl zu beantworten, ne Trilliarde sinds nicht, aber shcon ein paar mehr, an die
50.000 komm ich schon ran ;)
Und da es ja ne vorerst einmalige Sache sein soll, wenn die Daten ersteinmal in der DB sind, wird die TXT ja nicht weiter benötigt, kann es schon einfach vor sich hindümpeln, bis es fertig ist

MfG