- Beiträge: 1
Import Excel in MySQL
- Andreas Schäfer
- Autor
- Offline
- Benutzer
Weniger
Mehr
10 Jahre 2 Monate her #1727
von Andreas Schäfer
Import Excel in MySQL wurde erstellt von Andreas Schäfer
Hallo Supportteam,
ich habe eine Frage zum Import von Excel-Daten in eine SQL-Datenbank. In meiner zu importierenden Excel-Tabelle gibt es Spalten mit Werten 02:13 was Minute und Sekunde anzeigt. Beim Konfigurieren der Adapter läuft alles einwandfrei (Feldzuordnung und Typen sind m.E. in Ordnung). Leider ist es so, dass FlowHeater diese Spalten intern (d.h. für mich nicht sichtbar) als DateTime oder Time-Felder interpretiert und da kein eindeutiges Datum enthalten ist jedesmal 30.12.1899 in die Zelle schreibt.Es ändert sich auch nichts, wenn ich manuell die Eigenschaften der entprechenden Spalten im Reader als auch im Writer ändere.
Ich möchte nur die Werte im Format XX:XX in meine Datenbank schreiben.
Wo liegt mein Fehler?
Herzliche Grüße
Andreas Schäfer
ich habe eine Frage zum Import von Excel-Daten in eine SQL-Datenbank. In meiner zu importierenden Excel-Tabelle gibt es Spalten mit Werten 02:13 was Minute und Sekunde anzeigt. Beim Konfigurieren der Adapter läuft alles einwandfrei (Feldzuordnung und Typen sind m.E. in Ordnung). Leider ist es so, dass FlowHeater diese Spalten intern (d.h. für mich nicht sichtbar) als DateTime oder Time-Felder interpretiert und da kein eindeutiges Datum enthalten ist jedesmal 30.12.1899 in die Zelle schreibt.Es ändert sich auch nichts, wenn ich manuell die Eigenschaften der entprechenden Spalten im Reader als auch im Writer ändere.
Ich möchte nur die Werte im Format XX:XX in meine Datenbank schreiben.
Wo liegt mein Fehler?
Herzliche Grüße
Andreas Schäfer
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 1 Monat her #1729
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Import Excel in MySQL
Hallo Herr Schäfer,
das liegt daran, dass die wenigsten SQL Datenbanken reine Zeit (TIME) Datentypen unterstützen und immer mit kompletten DateTime Datentypen arbeiten. Ja nach verwendeter SQL Datenbank erhalten Sie eine Fehlermeldung wenn keine kompletten Datumsangaben geschickt werden!
MySQL würde z.B. einen Zeit (TIME) Datentypen unterstützen. Wenn Sie hier einen Import in ein solches Feld vornehmen, wird zwar auch das komplette Datum an den MySQL Server gesendet, hier wird aber vor dem Schreiben der Datumsanteil entfernt, so dass bei einem SELECT nur die Zeit angezeigt wird.
Der FlowHeater verwendet standardmäßig das Datum 31.12.1899 damit mit solchen Zeitangaben nachträglich vernünftig gerechnet werden kann. Sie können das auch ändern, indem Sie manuell mit Hilfe des String Append Heaters ein Datum Ihrer Wahl vor die Zeit stellen. Im Anhang finden Sie ein kleines Beispiel dazu.
Evtl. können Sie Ihr Problem auch lösen indem Sie anstatt eines Datumsfeldes für die Zeit lediglich einen Zeichenketten Datentypen (char, varchar, nchar, nvarchar, …) verwenden? Das hängt natürlich von Ihrer Datenbank (Fremdsoftware) ab, etc.
das liegt daran, dass die wenigsten SQL Datenbanken reine Zeit (TIME) Datentypen unterstützen und immer mit kompletten DateTime Datentypen arbeiten. Ja nach verwendeter SQL Datenbank erhalten Sie eine Fehlermeldung wenn keine kompletten Datumsangaben geschickt werden!
MySQL würde z.B. einen Zeit (TIME) Datentypen unterstützen. Wenn Sie hier einen Import in ein solches Feld vornehmen, wird zwar auch das komplette Datum an den MySQL Server gesendet, hier wird aber vor dem Schreiben der Datumsanteil entfernt, so dass bei einem SELECT nur die Zeit angezeigt wird.
Der FlowHeater verwendet standardmäßig das Datum 31.12.1899 damit mit solchen Zeitangaben nachträglich vernünftig gerechnet werden kann. Sie können das auch ändern, indem Sie manuell mit Hilfe des String Append Heaters ein Datum Ihrer Wahl vor die Zeit stellen. Im Anhang finden Sie ein kleines Beispiel dazu.
Evtl. können Sie Ihr Problem auch lösen indem Sie anstatt eines Datumsfeldes für die Zeit lediglich einen Zeichenketten Datentypen (char, varchar, nchar, nvarchar, …) verwenden? Das hängt natürlich von Ihrer Datenbank (Fremdsoftware) ab, etc.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.253 Sekunden