B.Hauser
03-09-13, 18:27
Die 1. Lib der Libliste ist meist die "Defaultlib".
Die Defaultlib lässt sich auch separat definieren.
Ohne Libliste wird eine Lib mit Namen des Users gesucht.
Beim SQL-Naming ist die Bibliotheksliste zumindest für Tabellen und View völlig belanglos. Unqualifiziert angegebene Tabellen/Phys.Dateien und Views werden in der Default-Library gesucht. Sofern diese nicht explizit gesetzt wurde z.B. mit dem SQL-Befehl SET SCHEMA oder in irgendeiner ODBC oder JDBC-Einstellung entspricht das DEFAULT-Schema dem angemeldeten Benutzer-Profil.
Andere Objekte z.B. Stored Procedures, User Defined Functions oder Sequence Objekte werden bei Verwendung von SQL-Naming im SQL-Pfad gesucht. Im SQL-Pfad können mehrere Bibliotheken/Schemas angegeben werden, die wie bei der Bibliotheksliste sequentiell durchgesucht werden. Der SQL-Pfad kann über den SQL-Befehl SET PATH gesetzt werden. Der Sonderwert *LIBL ist zulässig. Damit kann auch bei SQL-Naming die Bibliotheksliste nach Datenbankenobjekten, die weder Tabellen/phys.Dateien noch Views sind duchsucht werden. Der Default-Wert beim SQL PATH, sofern nicht anderweitig gesetzt ist *LIBL.
Weiterhin muss berücksichtigt werden, dass die Berechtigungen unter System- und SQL-Naming unterschiedlich behandelt werden.
Hier sind zwei Artikel zum Unterschied zwischen SQL und System-Naming:
SQL versus System Naming - Part I (http://www.ibm.com/developerworks/ibmi/library/i-sqlnaming/index.html)
SQL versus System Naming - Part II (http://www.ibm.com/developerworks/ibmi/library/i-system_sql2/index.html)
Birgitta
Die Defaultlib lässt sich auch separat definieren.
Ohne Libliste wird eine Lib mit Namen des Users gesucht.
Beim SQL-Naming ist die Bibliotheksliste zumindest für Tabellen und View völlig belanglos. Unqualifiziert angegebene Tabellen/Phys.Dateien und Views werden in der Default-Library gesucht. Sofern diese nicht explizit gesetzt wurde z.B. mit dem SQL-Befehl SET SCHEMA oder in irgendeiner ODBC oder JDBC-Einstellung entspricht das DEFAULT-Schema dem angemeldeten Benutzer-Profil.
Andere Objekte z.B. Stored Procedures, User Defined Functions oder Sequence Objekte werden bei Verwendung von SQL-Naming im SQL-Pfad gesucht. Im SQL-Pfad können mehrere Bibliotheken/Schemas angegeben werden, die wie bei der Bibliotheksliste sequentiell durchgesucht werden. Der SQL-Pfad kann über den SQL-Befehl SET PATH gesetzt werden. Der Sonderwert *LIBL ist zulässig. Damit kann auch bei SQL-Naming die Bibliotheksliste nach Datenbankenobjekten, die weder Tabellen/phys.Dateien noch Views sind duchsucht werden. Der Default-Wert beim SQL PATH, sofern nicht anderweitig gesetzt ist *LIBL.
Weiterhin muss berücksichtigt werden, dass die Berechtigungen unter System- und SQL-Naming unterschiedlich behandelt werden.
Hier sind zwei Artikel zum Unterschied zwischen SQL und System-Naming:
SQL versus System Naming - Part I (http://www.ibm.com/developerworks/ibmi/library/i-sqlnaming/index.html)
SQL versus System Naming - Part II (http://www.ibm.com/developerworks/ibmi/library/i-system_sql2/index.html)
Birgitta