-
OS400 PL/SQL LIbs - generell
Hallo Zusammen,
derzeit spiele ich mich mit PL/SQL auf der ISeries.
In der DB2 Welt gibt es Bibliotheken - Libraries in denen z.B. eine
Stored Procedure erstellt wird.. soweit so gut.
Wenn ich diese Procedure ausführe werden die Objekte der Lib zum Erstellungszeitpunkt aufgerufen.
Somit müsste es eine Procedure z.B.
PRODLIB.MyProcedure
TESTLIB.MyProcedure
geben.
Wie wird dass in der Praxis gehandhabt ist das der richtige Ansatz mit mehren Libs und Procedures??
Oder gibt es da andere Lösungen bei denen die Procedure auf einen anderen Pfad (evtl set Path) zeigt um auf z.B. die Testdaten zu lesen/schreiben.
Schließlich möchte ich die zu benutzenden Objekte ja nicht Vollqualifiziert, also Lib-befreit, benützen.
-
Die Definition der Art Zugriffes wird zur Compilezeit (egal welche Sprache) entschieden.
Hier wird das sog. "Naming" verwendet:
*SYS = Suche über Bibliotheksliste, Qualifiziert in der Form "Schema/Name"
*SQL = Suche über Standardschema, Qualifiziert in der Form "Schema.Name"
Schema = Bibliothek
Beim Verbindungsaufbau zur DB wird automatisch, falls vorhanden, eine Lib mit dem Namen des Users gesucht und als Default eingetragen. Per Set Schema kann das zur Laufzeit angepasst werden.
Nun unterstützt SQL leider nur ein Default-Schema, so dass ohne weitere Qualifizierung beim Naming = *SQL sowohl Prozeduren und Funktionen als auch Tabelle und Views in derselben Lib gesucht werden.
Nun muss man also für die Anwendung generell entscheiden:
Packt man alles in genau 1 Lib?
Trennt man ggf. Programme, Prozeduren, Funktionen von den Daten in 2 oder gar mehr Libs?
Dies bleibt letztlich jedem selbst überlassen.
Meine persönlichen Erfahrungen sind da besser mit dem Typ *SYS, da ich durch entsprechende Reihenfolge der Libs die Zugriffe steuern und auch besser Test- und Echtsysteme trennen kann.
Es gibt aber auch andere Erfahrungen, die besser mit dem Typ *SQL fahren.
-
... das ist so gewollt, dass das qualifiziert zur Compiletime vernagelt wird - bei Triggern regt sich keiner drüber auf. Ein Schema und eine Library werden zwar beide als *LIB implementiert, aber konzeptionell sind das zwei völlig verschiedene Dinge.
Verbiege ich nun die Sache und erstelle Datenbanken (= Schema), die verschiedene Bibliotheken überspannen, bekomme ich save restore Anomalien, die ich mir möglichst erspare - die schlagen nämlich im Wiederherstellungsfall unbarmherzig zu (logische Dateien, die auf den falschen physischen hängen, kaputte Objekte, wegen nicht auflösbbarer Referenzen...).
Ganz crude wird es, wenn man Datenbankobjekte nach *LIBL zugreift (beliebt sind hier unvollständige Testumgebungen, die durch dahinter stehende Prod Bibliotheken "ergänzt" werden). Zugriff dann nach dem Muster: ich habe hier eine Auftragsposition, schau mal, ob Du irgendwo eine Position findest und schreiben darfst Du nur, wenn die Artikel irgendwo vorhanden sind - und das mit einer Datenbank, die referentielle Integrität sicherstellen kann.
Je nach vorhandenem Wahnsinn, kann man dann Dateien noch mit share öffnen lassen...
Es gibt Umgebungen (leider viel zu viele), die bereits so verbogen sind, dass man das kaum wieder grade kriegt, aber wenn man die Wahl hat nimmt man Datenbank (alles kommt innerhalb einer Bibliothek zum Abschluss) und nicht Datenschrank.
D*B
-
Nun, ein Schrank ist für mich persönlich immer noch sicherer als eine Bank.
Allerdings ist wiederum Software immer noch besser als Schrankware (gekauft und in den Schrank gestellt).
-
Zitat von Fuerchau
Nun, ein Schrank ist für mich persönlich immer noch sicherer als eine Bank.
Allerdings ist wiederum Software immer noch besser als Schrankware (gekauft und in den Schrank gestellt).
... als ehemaliger Banker, kann ich da kaum widersprechen. Allerdings ist mir im Laufe langer Jahre auch Software über den Weg gelaufen, die im Schrank besser aufgehoben gewesen wäre als installiert und eingesetzt...
Similar Threads
-
By Nils_V in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 18-07-16, 09:49
-
By Laboriosa in forum NEWSboard Server & Hardware Markt
Antworten: 0
Letzter Beitrag: 24-03-16, 13:01
-
By eberhard1 in forum NEWSboard Server & Hardware Markt
Antworten: 1
Letzter Beitrag: 28-05-15, 12:50
-
By Bosch in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 14-11-02, 14:27
-
By hsw in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 21-09-01, 14:07
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks