Simplest solution is to just CRTLIB instead. Or to enable from SQL, create a SQL Procedure that invokes the CRTLIB command with the desired and/or passed parameters. Why...?

The SQL COLLECTION or SQL SCHEMA on i5/OS is really nothing more than a *LIB object with a QSQJRN *JRN object in that library. Because the journal can be optional for Isolation Level *NONE, a SCHEMA is really nothing more than a *LIB [Library] object. Because it is desirable to have every journal on an ASP have its own name, a QSQJRN *JRN object is best replaced by a QDFTJRN *DTAARA naming the user-named journal to be used for automatic file journaling. Optionally the SCHEMA could have the SQL Catalog VIEW objects created into that library. The SCHEMA-specific catalog VIEW objects are typically of little value for the DB2 for i5/OS, and I normally just delete them from any SCHEMA I have created, using: CALL QSYS2/QSQXRLF (DLT LibName)

CREATE COLLECTION with *SQL naming should create the *LIB object with AUT(*EXCLUDE); i.e. *PUBLIC *EXCLUDE Added complexity if a user creates a SCHEMA with the name of another user; details omitted.

CREATE COLLECTION with *SYS naming I believe will use the CRTAUT() for the QSYS *LIB; see DSPLIB QSYS or ?CHGLIB QSYS -- DSPSYSVAL QCRTAUT if the setting is *SYSVAL. I do not recall if special rules apply to the creation of a SCHEMA with the name of another user.

Regards, Chuck

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].