I think you'll find that the initial library list for QZDASOINIT is defined by
the job description used in the prestart job entry in the QUSRWORK subsystem
definition. This may or may not be the job description associated with QUSER
user profile.

When a JDBC user connects to a prestart job, the user profile of the job is
changed, but the library list is not necessarily changed.

As you have noted, once the library list of the job is changed, it remains
changed through reuses of the job by other users.

A library list is a unique IBMi dimension of JDBC. As such, it is important to
set the library list explicitly any time you are going to rely on its behavior.
Make that part of your standard.

Quoting Chris Bipes <chris.bipes@xxxxxxxxxxxxxxx>:

I ran into an interesting problem regarding library lists and JDBC.

I had a Linux Tomcat programmer define his connection to our iSeries at V6R1 using the libraries parameter. This changed the user library list of the QZDASOINIT job. Future connections to this job held the library list specified in the previous job and did not pick up the user library list form the job description assigned to the user profile that logged in.

I have determined that if you do not use the libraries parameter the user library list is set according to the job description of the user profile connecting.

This was a frustrating lesson learned when all sorts of jobs either wrote to development or could not find programs called by triggers.

My question is this: How do you keep something like this from happening? 1. Do you always specify the library list you need for your connection or do you always use the job description to control the library?

I want to define a standard and move in that direction to avoid library list issues in the future.

Has anyone published a standard they would like to share?

Chris Bipes
Director of Information Services
CrossCheck, Inc.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page