Onshore Geotechnics GeODin 8.2: Anpassung DB-Strukturen GeODin 8.2: Publikation zur Anpassung alter DB-Strukturen - Beispiel zur Umbenennung eines DatentypParameters und neues Publikationselement 'Datenbank schließen' Publikation zur Anpassung alter DB-Strukturen Eine Publikation kann (da beliebige SQL-Befehle enthalten sein können) auch die Anpassung älterer Datenbankstrukturen vornehmen. Hier ein Beispiel für die Umbenennung eines Datentyp-Parameters. Die 'ältere' Datenbank enthält im Datentyp WST den Parameter 'OLDNAME' und soll auf die aktuelle Struktur dieses Datentyps (dort heißt der Parameter 'NEWNAME') gebracht werden. Nach der Ausführung der Umstrukturierung können Objekte aus der 'älteren' Datenbank in die neue Datenbank übertragen werden. Die Umstrukturierung geschieht in diesem Beispiel mit folgenden 4 SQL-Befehlen: ALTER TABLE GEODIN_MES_WSTTAB01 ADD COLUMN NEWNAME FLOAT UPDATE GEODIN_MES_WSTTAB01 SET NEWNAME = OLDNAME ALTER TABLE GEODIN_MES_WSTTAB01 DROP OLDNAME UPDATE GEODIN_SYS_MESSTRS SET FIELD_NAME = 'NEWNAME', FIELD_LONG = 'NEWNAME' WHERE FIELD_GRP='WST' AND FIELD_NAME='OLDNAME' Die Publikation sieht nun folgendermaßen aus: Umbenennung eines Datentyp-Parameters Weitere Informationen finden Sie unter www.geodin.com/de Seite 1 von 5 © Fugro 2015 GeODin 8.2: Anpassung DB-Strukturen Die Publikation wird an der Datenbank zur Verfügung gestellt und erfordert für dieses Beispiel die Objektart ‘SSGKRZV1’ Voraussetzungen Bei den Publikationselementen 'SQL-Befehl' wird die Option 'Fehler ignorieren' gesetzt. Wird die Publikation bei einer Datenbank verwendet, welche bereits das neue Datenfeld 'NEWNAME' enthält, soll sichergestellt werden, dass 1. - die Publikation nicht wegen dieses Fehlers abgebrochen wird und 2. - die Publikation keine aktuelle Datenbankstruktur zerstört. Hier ist natürlich besondere Sorgfalt beim Design der Publikation erforderlich. SQL Befehlsname und Hinweistext Weitere Informationen finden Sie unter www.geodin.com/de Seite 2 von 5 © Fugro 2015 GeODin 8.2: Anpassung DB-Strukturen Im Zweig 'Tabellen' des SQL-Befehls sind wie üblich die Namen der verwendeten Tabellen zu hinterlegen. Dies ist für Datenbanken mit Schema-Namen erforderlich, denn diese werden im SQL-Befehl automatisch erweitert. Publikationselemente : Tabellen und SQL-Befehle Für das Übertragen der Datenfeldinhalte vom alten in das neue Feld könnten natürlich auch Typ-Konvertierungen vorgenommen werden. Dies müsste dann im SQL-Befehl geschehen. Im Beispiel haben beide Felder den gleichen Typ: UPDATE GEODIN_MES_WSTTAB01 SET NEWNAME = OLDNAME Die Anpassung des Eintrages in der MESSTRS kann ebenfalls umfangreicher als im Beispiel ausfallen. So könnten Maßeinheit, FeldFormate usw. ebenfalls auf den neuesten Stand gebracht werden. UPDATE GEODIN_SYS_MESSTRS SET FIELD_NAME = 'NEWNAME', FIELD_LONG = 'NEWNAME' WHERE FIELD_GRP='WST' AND FIELD_NAME='OLDNAME' Nach Ausführung der Publikation in einer Datenbank ist es nicht möglich, im Anschluss sofort in GeODin weiter mit dieser geöffneten Datenbank zu arbeiten, da sich die Strukturen der Objektarten, Datentypen usw. geändert haben. Die Datenbank muss daher sofort geschlossen werden. Weitere Informationen finden Sie unter www.geodin.com/de Seite 2 von 5 © Fugro 2015 GeODin 8.2: Anpassung DB-Strukturen Hierfür steht das neue Publikationselement 'Datenbank schließen' zur Verfügung. Datenbank schließen Das Element MUSS das letzte Element der Publikation sein. Der Anwender wird durch eine entsprechende Meldung darüber informiert, dass die Datenbank nun geschlossen wird. Da die Umstrukturierung einer Datenbank bei fehlerhaften Publikationen zum Defekt in der Datenbank führen kann, empfiehlt sich ein entsprechender Hinweistext für diese Publikation, zum Beispiel so: Hinweistext Weitere Informationen finden Sie unter www.geodin.com/de Seite 2 von 5 © Fugro 2015 GeODin 8.2: Anpassung DB-Strukturen Die Publikation kann nun an einer Datenbank ausgeführt werden (sofern alle Voraussetzungen erfüllt werden) Publikation ‘OLDNAME’ auswählen Die aktuelle Datenbank wird nun automatisch geschlossen. Hinweistext nach Ausführung der Publikation GeODin® ist ein eingetragenes Markenzeichen der Europäischen Union und gehört der Fugro Consult GmbH, Berlin, Deutschland. E-Mail: [email protected] Fugro Consult GmbH Wolfener Straße 36U 12681 Berlin Deutschland Tel: +49 (0)1805 346436 Fugro Austria GmbH Einödstraße 13 8600 Bruck a. d. Mur Österreich Tel: +43 (0)3862 3430014 Weitere Informationen finden Sie unter www.geodin.com/de Seite 5 von 5 © Fugro 2015