GELÖST Migration HSQL nach Postgres / MySQL

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: GELÖST Migration HSQL nach Postgres / MySQL

Re: GELÖST Migration HSQL nach Postgres / MySQL

von WSO » Mi, 16.07.2014 13:49

Ich kann zum Thema Timestamp Entwarnung geben (LO 4.2, MySql Server 5.6, MySql Connector 1.0.2)
Alle meine Datumsroutinen arbeiten einwandfrei, die Timestamps sind stimmig und richtig formatiert.
Gruss,
WSO

Re: GELÖST Migration HSQL nach Postgres / MySQL

von WSO » Mi, 16.07.2014 00:24

Hi Robert,
danke fuer den Hinweis, ich werde das testen.
Timestamp-Felder verwende ich, sie haben aber keinen Einfluss auf die Datenintegrität.
Bei Datumsfeldern gäbe es schon Probleme ...
Melde mich die Tage dazu, wenn ich schlauer bin.
Habe derzeit nur eingeschränkt Zeit.
Gruss, Wolfram

Re: GELÖST Migration HSQL nach Postgres / MySQL

von RobertG » Di, 15.07.2014 21:54

Hallo Wolfram,

ich habe nachgefragt, weil ich davon ausgehe, dass es keinen komplett funktionierenden Connector außer für manche Linux-Distributionen gibt. Ich zitiere wieder einmal aus dem Handbuch:
Ein Kontakt zu LO 4.1.* kommt zwar mit dem AOO-Connector zustande, aber da
sich ab der Version LO 4.1 die Beschreibung der Sekundenbruchteile von LO und
AOO unterscheiden, werden falsche Werte im Bereich der Zeiten und auch von
kompletten Timestamp-Feldern angezeigt.
Verwenden sie also bitte immer die Version, die lt. Beschreibung auch zur LO-
Version passt. Achten sie besonders beim Wechsel auf LO 4.1 darauf, ob überhaupt
ein entsprechender Connector zur Verfügung steht.
Ich hoffe, dass Du keine Timestamp-Felder verwendest. Vielleicht macht auch das Datum Probleme. Das weiß ich nicht aus dem Stand.

Gruß

Robert

Re: GELÖST Migration HSQL nach Postgres / MySQL

von WSO » Di, 15.07.2014 12:56

Hi Robert,
ja ich nutze LO 4.2 (win 7) mit dem Mysql-Connector 1.0.2.
Ich erinnere mich nicht, wo ich das Plugin runtergeladen habe.
Hier ist es:
https://www.dropbox.com/s/ss98o67jbvt2y ... or-ooo.oxt
Funktioniert bislang gut, Performance ist super.
Das Problem mit dem ungültigen Feldnamen beim kopieren der Tabellen hat sich geklärt:
In der HSQL-Tabelle hatte ein Feldname als letztes Zeichen ein blank.
War unter HSQL nie aufgefallen, MySql hat das verständlicherweise nicht gefallen.
Gruss,
Wolfram

Re: GELÖST Migration HSQL nach Postgres / MySQL

von RobertG » Di, 15.07.2014 10:13

Hallo Wolfram,

welche direkte Verbindung nutzt Du? Du hast die Version LO 4.2, richtig? Wenn ich auf die Extensions-Liste sehe, dann kann ich dort nur einen Connector für Linux rpm und die Version 4.0 entdecken:
http://extensions.libreoffice.org/exten ... leases/1.0

Gruß

Robert

Re: Migration HSQL nach Postgres

von WSO » Mo, 14.07.2014 18:50

Hi Robert,
ich teste gerade die direkte Verbindung zu MySql und die Portierung meiner Anwendung.
Der Aufwand ist geringer als gedacht, insbesondere was die Makros betrifft.

Tabellen können der drag and drop übertragen werden, wobei im Namen auch der Datenbankname vorangestellt werden muss.
Die Funktion hat noch einige "Macken" bei der Feldtypzuordnung (timestamp, boolean und varchar > 255).

Views müssen von Hand neu angelegt werden, wobei die SQL-Syntax per copy und paste übernommen werden kann.

Queries können ohne weiteren manuellen Eingriff per drag and drop kopiert werden.

Formulare: per drag and drop kopieren.
Die Datenquellen (sofern es Tabellen sind) müssen neu zugeordnet werden. (dbname vorangestellt)
Bezieht das Formular die Daten aus queries oder views sind keine Anpassungen erforderlich.

Makros: Die SQL-Syntax ist wesentlich einfacher als vermutet:
Es ist nicht erforderlich auf den Namen der Datenbak zu referenzieren und auf das "gefuddel" mit den Anführungszeichen kann gänzlich verzichtet werden, z.B.:

Code: Alles auswählen

stSql_ZAE = "SELECT * FROM  tZaehler WHERE zae_id = 0 "
stSql_ZAEUPD = "UPDATE  tZaehler SET zae_rechnung = " & iZaehler
funktioniert einwandfrei!
Gruss,
Wolfram

Re: Migration HSQL nach Postgres

von RobertG » So, 13.07.2014 18:30

Hallo WSO,

ich kann in MySQL nicht mit dem direkten Treiber testen - habe dafür keinen Treiber zur Verfügung. Unter JDBC-Verbindung ist dort aber auf jeden Fall mehr an Eingriffen notwendig als bei PostgreSQL.

Aus

Code: Alles auswählen

FROM "Tabelle" ...
wird dort

Code: Alles auswählen

FROM `Datenbank`.`Tabelle` AS `Tabelle` ...
Alle Feldnamen werden statt in doppelten Anführungszeichen in «`» eingefasst.
Das scheint mir dann doch deutlich mehr Aufwand zu sein.

Gruß

Robert

Re: Migration HSQL nach Postgres

von WSO » So, 13.07.2014 12:30

ups, das ist ja noch richtig Arbeit.
Ist der Aufwand bei Verwendung von MySQL auch so gross?
Könnte auch auf MySQL gehen.
Gruss,
WSO

Re: Migration HSQL nach Postgres

von RobertG » So, 13.07.2014 12:13

Hallo WSO,
WSO hat geschrieben: Was muss alles nach PostgeSql rüber:
- Tabellen, klar
- Views ?
- Queries ?

Sind Anpassungen an der SQL-Syntax in den Makos notwendig?
Du musst die Ansichten und Abfragen anpassen. Allein schon in dem Punkt, dass dort nirgendwo

Code: Alles auswählen

FROM "Tabelle" ...
steht sondern

Code: Alles auswählen

FROM "public"."Tabelle" AS "Tabelle" ...
Mit der Aliaszuweisung machst Du es möglich, dass Du nicht bei allen Feldern neben dem Tabellennamen auch "public." hinzufügen musst.

Ich würde das folgendermaßen regeln:
SQL-Code der Ansicht kopieren, in der PostgreSQL-Datenbank "Abfrage in SQL-Ansicht erstellen" wählen und dann die notwendigen Änderungen bei der Tabellenbezeichnung durchführen. Fange mit den Ansichten an, und dort dann auch mit einer Ansicht, die sich nicht auch noch auf eine andere Ansicht bezieht.

Gruß

Robert

Re: Migration HSQL nach Postgres

von WSO » So, 13.07.2014 11:57

Hi Robert,
genau so :D
Danke, mal wieder ne Hürde weiter ...
Dann lege ich mal los.
Was muss alles nach PostgeSql rüber:
- Tabellen, klar
- Views ?
- Queries ?

Sind Anpassungen an der SQL-Syntax in den Makos notwendig?
Gruss,
WSO

Re: Migration HSQL nach Postgres

von RobertG » So, 13.07.2014 11:24

Hallo WSO,

Du hast also erst einmal testweise probiert, ob sich überhaupt Tabellen in "public" anlegen lassen? Das klappt mit Erfolg, dort lassen sich auch Daten eingeben? So verstehe ich jedenfalls
Eine neue Tabelle läßt sich problemlos im Verzeichnis "public" manuell anlegen.
Jetzt versuchst Du die gleiche Methode mit einer kopierten Tabelle und die Kopie wird ohne Kommentar nicht ausgeführt?
Ich habe gerade auch noch einmal probiert und erst einmal gestaunt. Du musst vor den vorgeschlagenen Tabellennamen ein "public." einfügen. Dann kommt die Tabelle auch in dem Unterordner "public" zum Vorschein.

Gruß

Robert

Re: Migration HSQL nach Postgres

von WSO » Sa, 12.07.2014 21:24

Hi Robert,
soweit verstanden, aber das System verhält sich merkwürdig:
Eine neue Tabelle läßt sich problemlos im Verzeichnis "public" manuell anlegen.
Per copy/paste startet ein Assistent, die Feldtypen lassen sich anpassen,
aber die einzufügende Tabelle wird nicht gespeichert.
Das passiert unabhängig davon, ob ich die einzelnen Schritte des Assistenten durchlaufe, oder
direkt auf "fertigstellen" klicke.
Guss,
WSO

Re: Migration HSQL nach Postgres

von RobertG » Sa, 12.07.2014 19:08

Hallo WSO,

die Tabellen in PostgreSQL gehören in das Tabellenverzeichnis "public".
Markiere die Tabelle, die Du kopieren willst. Rechte Maustaste über der Tabelle → kopieren.
Öffne in PostgreSQL den Ordner "public".
Rechte Maustaste auf "public" → Einfügen.
Dann dem Assistenten folgen und die entsprechenden Feldbezeichnungen abgleichen.
Aus dem Handbuch:
Bei der Erstellung von Tabellen kann es vorkommen, dass Base Datentypen vorschlägt, die die
aktuelle PostgreSQL-Installation nicht verarbeiten kann. So werden standardmäßig die Felder mit
dem Feldtyp «Text [character_data]» vorgeschlagen. Den kann PostgreSQL aber nicht verarbeiten.
Eine Änderung auf den Typ «Text [varchar]» schafft hier Abhilfe.
Gruß

Robert

Re: Migration HSQL nach Postgres

von WSO » Sa, 12.07.2014 14:32

Hallo Robert,
danke sieht einfach aus, komme aber nicht ganz zum Ziel.
Habe jetzt 2 Datenbanken:

eine leere in Postgre:
pic0.png
pic0.png (59.05 KiB) 6075 mal betrachtet
und die HSQLDB mit den zu übertragenden Tabellen:
pic1.png
pic1.png (81.16 KiB) 6075 mal betrachtet
Und jetzt ?
Wie bekomme ich denn den Datenbank-Container zum paste da rein?

Gruss,
WSO

Re: Migration HSQL nach Postgres

von RobertG » Fr, 11.07.2014 22:17

Hallo WSO,

warum willst Du die Datenbanken mit einem anderen Programm öffnen? Du hast doch Base. Darin kannst Du beide Datenbanken lesen und beschreiben. Rechter Mausklick über einer Tabelle, kopieren. Rechter Mausklick über dem Tabellencontainer von PostgreSQL, einfügen. Gegebenenfalls genauer auf die Feldtypen achten - siehe Handbuch.

Gruß

Robert

Nach oben