Seite 1 von 1
Seitenumbrüche gehen beim Import verloren
Verfasst: Mi, 13.02.2013 10:19
von zachy
OpenOffice-Version: OpenOffice.org 3.4.1
Betriebssystem: Windows 7 Prof 64 Bit
Quelldatenbank: HSQLDB
Zieldatenbank: MySQL 5.5 (Nativer Treiber)
Quell- und Zieldatenbank sowie OOo liegen auf demselben Rechner
Hallo Community,
beim Import von Tabellen aus der HSQLDB in die MySQL-Datenbank tritt ein unschöner Effekte auf:
Jeder meiner Datensätze hat eine Notiz-Spalte vom Datentyp Memo. Beim Import nach MySQL verwende ich den Datentyp Varchar Long. Leider gehen alle Seitenumbrüche verloren, sodass der Inhalt in einer Zeile ausgegeben wird. Jetzt müsste ich bei jedem Datensatz die Zeilenumbrüche wieder manuell einfügen.
Gibt es eine Möglichkeit die Seitenumbrüche beim Import mitzuberücksichtigen?
Viele Grüße
zachy
Re: Seitenumbrüche gehen beim Import verloren
Verfasst: Mi, 13.02.2013 11:35
von juetho
zachy hat geschrieben:Leider gehen alle Seitenumbrüche verloren, sodass der Inhalt in einer Zeile ausgegeben wird. Jetzt müsste ich bei jedem Datensatz die Zeilenumbrüche wieder manuell einfügen.
Was denn nun: Seitenumbrüche oder Zeilenumbrüche?
Da es sich um unterschiedliche Formatierungen handelt, werden sie auch unterschiedlich verarbeitet. Außerdem musst du klären (und es hier genauer berichten), woran du erkennst, dass die Umbrüche vorher da waren und nachher fehlen. In einem Grid werden sie üblicherweise nicht berücksichtigt, sind aber trotzdem vorhanden. Außerdem kann ein Programm die Windows-Variante CR/LF und ein anderes Programm die Linux-Variante LF verwenden. Auch insofern kann es Unterschiede bei der Darstellung geben.
Robert hatte dich schon darauf hingewiesen, dass du JDBC (oder ODBC) verwenden solltest. Auch damit kann die falsche Anzeige oder falsche Übernahme zusammenhängen.
Im
MySQL-Manual finde ich keinen Datentyp VARCHAR LONG. Die Entsprechung für "große Texte" ist der Datentyp TEXT.
Jürgen
Re: Seitenumbrüche gehen beim Import verloren
Verfasst: Mi, 13.02.2013 13:44
von zachy
juetho hat geschrieben:zachy hat geschrieben:Leider gehen alle Seitenumbrüche verloren, sodass der Inhalt in einer Zeile ausgegeben wird. Jetzt müsste ich bei jedem Datensatz die Zeilenumbrüche wieder manuell einfügen.
Was denn nun: Seitenumbrüche oder Zeilenumbrüche?
Da es sich um unterschiedliche Formatierungen handelt, werden sie auch unterschiedlich verarbeitet. Außerdem musst du klären (und es hier genauer berichten), woran du erkennst, dass die Umbrüche vorher da waren und nachher fehlen. In einem Grid werden sie üblicherweise nicht berücksichtigt, sind aber trotzdem vorhanden. Außerdem kann ein Programm die Windows-Variante CR/LF und ein anderes Programm die Linux-Variante LF verwenden. Auch insofern kann es Unterschiede bei der Darstellung geben.
Robert hatte dich schon darauf hingewiesen, dass du JDBC (oder ODBC) verwenden solltest. Auch damit kann die falsche Anzeige oder falsche Übernahme zusammenhängen.
Im
MySQL-Manual finde ich keinen Datentyp VARCHAR LONG. Die Entsprechung für "große Texte" ist der Datentyp TEXT.
Jürgen
Hallo Jürgen,
ich meine Zeilenumbrüche, nicht Seitenumbrüche. Hab mich verschrieben...
Zu deiner Frage woran ich erkenne, dass die Umbrüche vorher da waren:
Im Formular gebe ich das Memofeld in einem mehrzeiligen Textfeld aus. Hier schreibe ich z.B. rein, was ich mit den Kunden besprochen habe. Zur besseren Lesbarkeit habe ich manuelle Zeilenumbrüche (Entertaste) eingefügt. Diese waren nach dem Export nach MySQL weg. In dem mehrzeiligen Textfeld steht nur der gesamte Inhalt in einer Zeile.
Ich habe mir den Datentyp der Spalte gerade noch mal mit
DESCRIBE TABLE anzeigen lassen. Es handelt sich um den Datentyp
mediumtext. Beim einstellen des Datentyp in OOo hatte ich aber
Memo [LONG VARCHAR] gewählt. Jetzt zeigt mir OOo aber auch
mediumtext an. Seltsam...
Ich werde die Datenbank mal über ODBC anbinden und den Import dann noch mal durchführen. Vielleicht werden die Zeilenumbrüche ja dann mitimportiert.
Re: Seitenumbrüche gehen beim Import verloren
Verfasst: Mi, 13.02.2013 15:40
von RobertG
Hallo zachy,
ich habe das eben einmal überprüft. Bei mir werden, auch mit dem direkten Treiber, die Zeilenumbrüche übernommen.
Ich habe einfach den Vorschlag "Varchar" übernommen.
Wenn ich neu ein Formular durch den Assistenten gründen lasse, so wird zwar für den großen Inhalt ein größeres und höheres Feld im Formular aufgezogen. Die Voreinstellung für das Feld bleibt aber bei "einzeilig". Vielleicht liegt hier auch Dein Problem, das dann nur ein Darstellungsproblem des Formulars wäre.
Gruß
Robert