View Full Version : SQL-Katalogsichten nachträglich anlegen
Hallo zusammen,
beim SQL-Befehl CREATE SCHEMA werden automatisch die logischen Dateien für die SQL-Katalogsichten und das Journal angelegt.
Wenn eine Bibliothek per CL-Befehl CRTLIB angelegt wurde, gibt es dann eine Möglichkeit die SQL-Katalogsichten nachträglich anzulegen?
Theoretisch ja.
Schau dir die Views per DSPFD in einem Schema an. Dort findest du die SQL-Befehle für das CREATE VIEW.
Diese kannst du dann selber für deine Lib anpassen und ausführen.
Das selbe gilt auch für Journal/Empfänger sowie die nachträgliche Aufzeichnung in ein Journal.
Ob es funktioiert weiß ich nicht.
Alternativ erstelle ein neues Schema und kopiere die Dateien aus der Ursprungslib.
1. Die Catalog-Views (für alle Bibliotheken) stehen in der QSYS2.
2. Die Catalog-Views, die in den Schemata angelegt werden enthalten nichts anderes als die gleiche Beschreibung, nur dass nur die Daten für die aktuelle Bibliothek selektiert werden.
Fazit: Du kannst entweder auf die Catalog-Views für QSYS2 gehen und nur die Daten für Deine Bibliothek selektieren, oder Du erstellst Dir einfach Views mit SELECT * FROM Catalog WHERE Bibliothek = 'XXXX'
Als 3. Möglichkeit kannst Du Dir mit dem System i Navigator das SQL-Skript für die (Originalen) Catalog-Views oder den Catalog-Views in einer anderen Bibliothek generieren (Auf Catalog-View positionieren, Rechtsclick und SQL Generieren). In dem Skript tauschst Du dann die Bibliothek aus und läßst das Skript laufen.
Birgitta
Besten Dank!
Wie verbreitet ist eigentlich mittweile die Verwendung von SQL/Transaktionsverarbeitung im "RPGLE-Umfeld"?
andreaspr@aon.at
12-08-12, 14:49
Wie ist die Frage zu verstehen?
Die Verbreitung selbst beginnt mit dem Einsatz :)
lg Andreas
Christian Bartels
30-08-12, 13:19
Wenn eine Bibliothek per CL-Befehl CRTLIB angelegt wurde, gibt es dann eine Möglichkeit die SQL-Katalogsichten nachträglich anzulegen?
Neben den zuvor geschriebenen Antworten gibt es auch noch die Möglichkeit, die Katalogsichten in der Bibliothek durch den folgenden Programmaufruf zu erstellen:
CALL QSYS2/QSQXRLF PARM(CRT Bibliotheksname<BIBLIOTHEKSNAME>)
Mit freundlichen Grüßen,
Christian Bartels.
Vielen Dank fūr Eure Tipps und Infos.