PDA

View Full Version : DDS zu SQL konvertieren, generieren o.ä.



Seiten : [1] 2

ibmnewbie
23-11-07, 13:41
Hallo!

Ein newbie hat ne Frage an die Cracks, die sich hier tummeln:

Welche Möglichkeiten gibt es, um (relativ alte) DDS-Definitionen einer grossen Zahl von physical files automatisch in SQL umzuwandeln, weil man die SQL Statements beispielsweise für gleichartige Tabellen in anderen RDBMs braucht?

Vielen Dank im Voraus,
das newbie

Fuerchau
23-11-07, 13:47
Das kann nur der OpsNav automatisiert.

B.Hauser
23-11-07, 13:49
iSeries Navigator Database

Datenbanken
Schema (=Bibliothek) auswählen
Innerhalb des Schemas Tabellen (=physische Dateien) öffnen, Tabellen auswählen, Rechtsclick, SQL generieren und generierte SQL-Statements prüfen.

Was nicht nach SQL konvertiert werden kann wird im Skript als Text mit Fehlermeldung ausgegeben.

Birgitta

ibmnewbie
23-11-07, 14:02
Das kann nur der OpsNav automatisiert.


und für einen Anfänger zum mitschreiben: was ist OpsNav?

Danke

Fuerchau
23-11-07, 15:54
Das ist die Abkürzung für den CA OperationsNavigator.

UFK
25-11-07, 11:41
Das kann nur der OpsNav automatisiert.
Hm, klar kann (und sollte) man dafür den OperationsNavigator der i-Series einsetzen, aber genau genommen ist das ("Das kann nur der OpsNav automatisiert") so nicht wahr.

Ich habe mir selber schon lange vor dem Erscheinen des OpsNav ein CL oder REXX dafür geschrieben, um DDS aus Source-Dateien in universelle SQL-Befehle zu konvertieren. Und das kann natürlich auch jeder andere Programmierer selbst realisieren.

Außerdem verwendet der OpsNav mit Sicherheit nicht die DDS-Definitionen (wörtlich), sondern liest die Beschreibung aus den aktuell in der Datenbank vorhandenen Dateien (Tabellen) ein. Nun ja, das dürfte ja auch den Zweck erfüllen, soweit das System nicht auch noch temporäre Dateien verwendet, die es dann gemäß einer gespeicherten DDS erstellen würde, die man evtl. aber kaum vorfinden kann, da sie in der QTEMP stehen ...

Man kann auch Probleme mit Serien von Dateien bekommen, die alle die gleiche Struktur bzw. DDS haben, die aber unterschiedliche Namen haben. In der AS400 hätte man das dann auch besser in Teildateien speichern können, die für SQL aber noch ein weiteres Problem darstellen würden, da SQL das so nicht kennt ...

Ein weiteres Thema ist oft der Dump des gesamten Inhalts einer ganzen DB2/400-Datenbank, um sie in eine andere SQL-Datenbank zu übertragen. Ich glaube, OpsNav fehlt die simple praktische SQL-Dump-Funktion noch, oder ?

Wer MySQL benutzen will, wird sich so etwas wie DUMP & LOAD aber wünschen, denn eine direkte SQL-Verbindung per DRDA können die DB2/400 und MySQL wohl noch nicht etablieren, oder ?

PS: Eine Dump-Routine für alle Tabellen kann man natürlich auch selber schreiben, wenn es wirklich noch fehlen sollte. Incl. Teildateien, wenn's sein muß ...

Fuerchau
26-11-07, 08:21
Was ist DUMP & LOAD denn anderes als SAV und RST ?
Soweit ich weiß, unterstützt der OpsNav auch das Sichern und Wiederherstellen per SAVF's. Zusätzlich gibts ja auch noch die gemeinsame Maintenance-Funktion mehrerer Systeme um eben genau diese Dinge (Abgleich, Objektverteilung) zu realisieren.

Auch andere DB's kennen Sicherungsbefehle und nennen das dann Backup, das halte ich nicht für einen Vergleich.

Der Hinweis auf den OpsNav erfolgt ja nur um eben nicht erst selber was programmieren zu müssen.

Natürlich kann jeder für seine spezifischen Belange auch selber etwas programmieren, aber darum ging es bei diesem Thema ja nicht.

Sondern um bereits vorhandenes.

Du kannst gerne deine Quellen veröffentlichen um anderen die Arbeit zu erleichtern. Schließlich wird dann ja auch auf etwas "vorhandenes" zurückgegriffen.

ibmnewbie
04-12-07, 15:58
iSeries Navigator Database

Datenbanken
Schema (=Bibliothek) auswählen Innerhalb des Schemas Tabellen (=physische Dateien) öffnen, Tabellen auswählen, Rechtsclick, SQL generieren und generierte SQL-Statements prüfen.

Was nicht nach SQL konvertiert werden kann wird im Skript als Text mit Fehlermeldung ausgegeben.

Birgitta

Vielen Herzlichen Dank!!!
Ich hab zwar ne Weile gebraucht aber es funzt!

Bis auf eine Kleinigkeit, die alles ausbremst: Das generierte SQL (ANSI/ISO) scheint einen Bug zu haben:
Es werden die Default-Klausel und die Not-Null-Klausel der Spalten vertauscht und das versteht die Oracle DB nicht.
Bestimmt ist dieses Problem altbekannt bei euch Experten, oder?

Danke im Voraus
das ibm newbie

Fuerchau
04-12-07, 17:55
Eher nicht.
Es kann einfach sein, dass die Oracle halt den DB2-SQL nicht versteht.

Läßt du die generierten SQL's auf eine DB/2 los, versteht diese die.

Also kein BUG sondern Kompatibilitätsprobleme.

ibmnewbie
05-12-07, 09:39
Heisst das, durch die Blume gesagt, dass DB/2 nicht vollständig ANSI-Standard-kompatibel ist?