Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung PHP

GELÖST

Txt Datei in mysql importieren

Mitglied: dax4fun

dax4fun (Level 1) - Jetzt verbinden

11.04.2014, aktualisiert 01.06.2014, 2498 Aufrufe, 5 Kommentare

Hi, Leute

habe mehrere txt Dateien auf einem FTP Server und möchte diese Daten in eine mysql DB auf einem anderen Server eintragen.

Die Dateien werden per Batch erzeugt und schauen so aus:

01.
SHOP_123456, EINGANG:188600, AUSGANG:198128, BALANCE:-9528, ANZAHL:1113,
Wie kann ich die Daten trennen, da z.B. SHOP eigentlich schon die Spalte ist...?

Mitglied: sigkill
11.04.2014, aktualisiert um 08:11 Uhr
Verfügbare Betriebsysteme?

Unter Linux/Unix würde ich vorschlagen, die Datein per sed/awk zu bearbeiten.
Entweder komplette SQL-Statements aus den Zeilen bauen oder csv-Dateien mit den "reinen" Daten(also einfach "SHOP_" etc. durch "" ersetzen lassen) die dann per LOAD DATA [LOCAL] INFILE importiert werden.
Wobei zu testen wäre ob LOAD DATA LOCAL INFILE auf dem DB-Server erlaubt ist(http://dev.mysql.com/doc/refman/5.1/de/load-data-local.html)
Bitte warten ..
Mitglied: dax4fun
11.04.2014 um 10:26 Uhr
Hallo,
Aha verstehe hab mir gedacht das es nicht so kompliziert ist, somit ist es besser bzw. leichter die Files per Batch in einen insert zu formatieren und dann einfügen.
Danke
Bitte warten ..
Mitglied: sigkill
LÖSUNG 11.04.2014, aktualisiert 01.06.2014
sed/awk ist nicht kompliziert ... das ist vieeeel einfacher als Textdateien per batch zu manipulieren ;) Es hängt halt immer davon ab was man zu Verfügung hat und was man beherrscht. Wenns nur Windows ist, dann würde ich sagen, Dateimanipulationen sind per Windows powershell komfortabler machbar als per batch.

Weiterhin ist die Performance zu betrachten. Wenn es wirklich viele Datensätze sind, dann lieber (wenn möglich) LOAD DATA LOCAL INFILE nutzen und keine einzelnen Insert-Statements. LOAD DATA ist wesentlich schneller.

Mit der Powershell sollte es etw so gehen(ganz quick&dirty ... ich bin nicht der powershell-freak, nehme lieber perl oder sed/awk wenn möglich):
(Get-Content datei.txt) | ForEach-Object { $_ -replace "SHOP_","" } | Set-Content datei.txt
(Get-Content datei.txt) | ForEach-Object { $_ -replace "EINGANG:","" } | Set-Content datei.txt
....

dann hätte man eine "saubere" CSV-Datei für load data .... genauso kann man die entsprechenden Bezeichnungen durch INSERT INTO-Fragmente ersetzen und so komplette SQL-Statements erzeugen.
Bitte warten ..
Mitglied: Hitman4021
11.04.2014 um 13:05 Uhr
Hallo,

https://dev.mysql.com/doc/refman/5.1/de/load-data.html
Du kannst einfach "," als Delimiter angeben ;)

Grüße
Bitte warten ..
Mitglied: dax4fun
11.04.2014 um 13:34 Uhr
ahsooo ja powershell kenn ich mich nicht aus ich war gezwungen Batch zu verwenden und jetzt kenn ich mich damit besser aus, und die Daten werden per Batch generiert somit ist das kein Problem
aber ich schau mir das noch mal an bin nur drübergeflogen danke

hitman4021, muss ich mir noch anschauen danke dir für die Antwort


ich lass den Thread noch offen um euch bei Fragen zu nerven

lg dax
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Txt Dateien in Excel importieren
gelöst Frage von SerbitarMicrosoft Office9 Kommentare

Hallo Kollegen, Ich möchte gerne mittels Excel eine Txt einlesen und die Infos in Spalten aufteilen. Die Spaltenheader sind ...

Datenbanken
MySQL Datenbank in MSSQL importieren
Frage von MaffiDatenbanken6 Kommentare

Hallo, ich habe eine MySQL Datenbank und würde Sie gerne in MSSQL EXPRESS importieren, ich nutze das "Microsoft SQL ...

Datenbanken
Dump (utf8mb4) aus MySQL 5.5 in MySQL 5.1 importieren
gelöst Frage von ritzmannDatenbanken2 Kommentare

Guten Abend Auf meinem jetzigen vServer läuft Debian und damit MySQL in der Version 5.5. Nun möchte ich, zwecks ...

Windows 7
Mehrere TXT mit Dateinamen in Excel importieren
Frage von Sophie12345Windows 71 Kommentar

Hallo zusammen, ich hoffe jemand kann mir helfen. ich habe mehrere Ordner mit jeweils ca. 40-60 txt Dateien, diese ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...