MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Hi,
ich komm nicht weiter.
Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen.
Nun soll diese MariaDB mit Daten gefüllt werden. Dies soll nicht manuell gemacht werden sondern automatisiert.
Die Dateien die in die Datenbank sollen sind .csv dateien und damit recht zugänglich. nun hab ich allerdings schon viel Probiert und bisher noch keine Lösung gefunden.
Wie könnte ich die Daten "Automatisiert" in die MariaDB/MySQL bringen?
Zu meiner Ausstattung: bisher keine weiteren GUI´s außer HeidiSQL. Ich kann einfach nichts finden was eine Aufgabenplanung mitbringt.
Ich hab schonmal gelesen das man mit einer CMD und dem Befehl "Load Data into" Daten einfügen könnte. Das hat aber bisher nicht bei mir geklappt.
Über jede Hilfe bin ich dankbar!
Ich danke euch im Voraus.
Grüße
Marcel
Edit:
<connection host="test" port="test" login="test" password="pass" database="test" client_encoding="utf8">
</connection>
<items>
<item target="misch_rohdaten" file_name="C:\Mischereidaten\*.csv" delimiter="59" quote_char=""" encoding="0" column_headers="true" xml_data_location="0" empty_target="false">
<data_formats date="" time="" datetime="" decimal_separator="," thousand_separator="" boolean_true="True" boolean_false="False" null_values=";NULL"/>
<columns>
<column name="VarName" map="1"/>
<column name="TimeString" map="2"/>
<column name="VarValue" map="3"/>
<column name="Validity" map="4"/>
<column name="Time_ms" map="5"/>
</columns>
</item>
</items>
An sowas hab ich gedacht. ich weiß nur nicht wie ich es umsetzen soll.
ich komm nicht weiter.
Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen.
Nun soll diese MariaDB mit Daten gefüllt werden. Dies soll nicht manuell gemacht werden sondern automatisiert.
Die Dateien die in die Datenbank sollen sind .csv dateien und damit recht zugänglich. nun hab ich allerdings schon viel Probiert und bisher noch keine Lösung gefunden.
Wie könnte ich die Daten "Automatisiert" in die MariaDB/MySQL bringen?
Zu meiner Ausstattung: bisher keine weiteren GUI´s außer HeidiSQL. Ich kann einfach nichts finden was eine Aufgabenplanung mitbringt.
Ich hab schonmal gelesen das man mit einer CMD und dem Befehl "Load Data into" Daten einfügen könnte. Das hat aber bisher nicht bei mir geklappt.
Über jede Hilfe bin ich dankbar!
Ich danke euch im Voraus.
Grüße
Marcel
Edit:
<connection host="test" port="test" login="test" password="pass" database="test" client_encoding="utf8">
</connection>
<items>
<item target="misch_rohdaten" file_name="C:\Mischereidaten\*.csv" delimiter="59" quote_char=""" encoding="0" column_headers="true" xml_data_location="0" empty_target="false">
<data_formats date="" time="" datetime="" decimal_separator="," thousand_separator="" boolean_true="True" boolean_false="False" null_values=";NULL"/>
<columns>
<column name="VarName" map="1"/>
<column name="TimeString" map="2"/>
<column name="VarValue" map="3"/>
<column name="Validity" map="4"/>
<column name="Time_ms" map="5"/>
</columns>
</item>
</items>
An sowas hab ich gedacht. ich weiß nur nicht wie ich es umsetzen soll.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 383452
Url: https://administrator.de/contentid/383452
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
19 Kommentare
Neuester Kommentar
Hi
was ist denn in der CSV? Tatsächlich ne CSV, also (Strich)Komma getrennte Werte? Mit oder Ohne Spaltenüberschriften?
Wurden die Tabellen in der DB schon korrekt erstellt?
Wenn das gemacht wurde, kannst du load data infile verwenden
https://mariadb.com/kb/en/library/load-data-infile/
Und diesen kannst du etwa so gestalten, wie du hier sicherlich auch schon selbst gefunden hast.
muss natürlich an deine Gegebenheiten anpassen.
Dies soll nicht manuell gemacht werden sondern automatisiert.
Das willst du einmalig machen oder automatisch z.B täglich?was ist denn in der CSV? Tatsächlich ne CSV, also (Strich)Komma getrennte Werte? Mit oder Ohne Spaltenüberschriften?
Wurden die Tabellen in der DB schon korrekt erstellt?
Wenn das gemacht wurde, kannst du load data infile verwenden
https://mariadb.com/kb/en/library/load-data-infile/
Ich hab schonmal gelesen das man mit einer CMD und dem Befehl "Load Data into"
Ne das ist ein SQL Befehl...Und diesen kannst du etwa so gestalten, wie du hier sicherlich auch schon selbst gefunden hast.
LOAD DATA LOCAL INFILE 'uniq.csv'
INTO TABLE tblUniq
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(uniqName, uniqCity, uniqComments)
muss natürlich an deine Gegebenheiten anpassen.
Hallo,
OK
https://mariadb.com/kb/en/library/importing-data-into-mariadb/
https://mariadb.com/kb/en/library/load-data-infile/
https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
https://gist.github.com/shalaby/deb7edca438c86b45afd
Gruß,
Peter
OK
Die Dateien die in die Datenbank sollen sind .csv dateien und damit recht zugänglich. nun hab ich allerdings schon viel Probiert und bisher noch keine Lösung gefunden.
https://mariadb.com/kb/en/library/loading-csv-files/https://mariadb.com/kb/en/library/importing-data-into-mariadb/
https://mariadb.com/kb/en/library/load-data-infile/
https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
https://gist.github.com/shalaby/deb7edca438c86b45afd
Zu meiner Ausstattung: bisher keine weiteren GUI´s außer HeidiSQL. Ich kann einfach nichts finden was eine Aufgabenplanung mitbringt.
Reicht da nicht der Taskplaner von dein Server 2012R2?Das hat aber bisher nicht bei mir geklappt.
Das ist keine Hilfe mit der wir etwas anfangen können, und dein Server hat es dir so auch nicht gesagt...Gruß,
Peter
Moin,
kann natürlich sein, das der cli client nicht im pfad liegt... also wird mal einen Blick ins mariadb Programm verzeichniss.
oder, du zeihst dir von der website https://dev.mysql.com/downloads/mysql/ das ZIP Archiv deiner Release und nimmst dir da die mysql.exe und arbeitest mit der.
lg,
Slainte
kann natürlich sein, das der cli client nicht im pfad liegt... also wird mal einen Blick ins mariadb Programm verzeichniss.
oder, du zeihst dir von der website https://dev.mysql.com/downloads/mysql/ das ZIP Archiv deiner Release und nimmst dir da die mysql.exe und arbeitest mit der.
lg,
Slainte
jupp, ist nicht im PATH registriert. Kannst du machen, musst du aber nicht. Kannst im Taskplaner ja den vollen Pfad angeben.
Damit er den korrekten User + Passwort nimmt, kannste das entweder auch als Parameter mitgeben, oder die my.cnf erstellen:
https://mariadb.com/kb/en/library/configuring-mariadb-with-mycnf/
Damit er den korrekten User + Passwort nimmt, kannste das entweder auch als Parameter mitgeben, oder die my.cnf erstellen:
https://mariadb.com/kb/en/library/configuring-mariadb-with-mycnf/
Hallo,
https://forums.mysql.com/read.php?11,34014,46593
https://serverfault.com/questions/424871/mysql-error-1045-28000
Gruß,
Peter
Zitat von @Marcel1989:
Jedesmal wenn ich, trotz my.cnf im Ordner, mysql.exe ausführen möchte kommt Error 1045 (28000): Access denied fpr user 'administrator'@'localhost' (using password: NO)
Was hast du denn deiner MariaDB gesagt wer dort was und mit welchem Paswwort machen darf? Codepage passt (default-character-set)?Jedesmal wenn ich, trotz my.cnf im Ordner, mysql.exe ausführen möchte kommt Error 1045 (28000): Access denied fpr user 'administrator'@'localhost' (using password: NO)
https://forums.mysql.com/read.php?11,34014,46593
https://serverfault.com/questions/424871/mysql-error-1045-28000
Gruß,
Peter