|
Hi, all, I have had a weird problem when I run a Java batch program on AS/400 (V5R1). I use native JDBC for data connection. The error occurred randomly at different time and different stage of the batch processes. Most of time, the batch completed no problems at all, but sometimes, it fails. It seems to me that it is something to do with the system resources. But I could not figure out exactly what cause the errors. I have attached the joblog. the error start with MSGID: MCH3601, type: Escape, Message: Pointer not set for location referenced. Does any one have any ideas about this error? Also, I have another question about the message in this joblog (it does not cause any problem yet). The message is: Message . . . . : Job 030659/QUSER/QSQSRVR used for SQL server mode processing. Cause . . . . . : A Structured Query Language (SQL) statement was executed while running in SQL server mode. SQL statements for this connection or thread will be processed in job 030659/QUSER/QSQSRVR. Technical description . . . . . . . . : SQL server mode was requested by either setting the SQL server mode job attribute, or by setting the server mode environment attribute via the SQL Call Level Interface. When running in this mode, SQL statements are processed by a separate job, which runs under the user profile specified for the connection. The thread identifier is 2 and the connection is to Relational Database WILM620. If the Relational Database name is *N, this means that all connections for the thread will use the same job. Is there any problem to run SQL statement in SQL server mode? My SQL statement does not specify the settings. Maybe by default, it use SQL server mode? If not run in SQL server mode, what other options I have and how to set the options, if any? Thanks. <<QPJOBLOG031352.txt>> Wayne
5722SS1 V5R1M0 010525 Job Log S1030PDM 03/31/03 12:51:18 Page 1 Job name . . . . . . . . . . : QZSHSH User . . . . . . : WXU Number . . . . . . . . . . . : 031352 Job description . . . . . . : FSSDEV Library . . . . . : QGPL MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST CPF1124 Information 00 03/31/03 12:20:51 QWTPIIPP QSYS 067E *EXT *N Message . . . . : Job 031352/WXU/QZSHSH started on 03/31/03 at 12:20:52 in subsystem QINTER in QSYS. Job entered system on 03/31/03 at 12:20:52. JVAB529 Diagnostic 40 03/31/03 12:23:46 QJVAUTLJVM QSYS *STMT QJVAJVM QSYS *STMT From module . . . . . . . . : QJVAUTLJVM From procedure . . . . . . : JvaSendMsg Statement . . . . . . . . . : 1382 To module . . . . . . . . . : RUNJAVA To procedure . . . . . . . : RunJava Statement . . . . . . . . . : 2902 Message . . . . : Public write authority on ".". Cause . . . . . : Directory "." in the classpath has public write authority. If more than one class file in a directory has the same name, the first one found is run. Recovery . . . : If the Classpath security check level (CHKPATH) is *SECURE, the command cannot complete if a directory in the classpath has public write authority. Have your administrator remove public write authority from directory ".", or change CHKPATH and run the command again. If directory "." remains public write authority and CHKPATH is not *SECURE, you may verify which classes are run by setting the OPTION parameter to *VERBOSE and running the command again. JVAB529 Diagnostic 40 03/31/03 12:23:46 QJVAUTLJVM QSYS *STMT QJVAJVM QSYS *STMT From module . . . . . . . . : QJVAUTLJVM From procedure . . . . . . : JvaSendMsg Statement . . . . . . . . . : 1382 To module . . . . . . . . . : RUNJAVA To procedure . . . . . . . : RunJava Statement . . . . . . . . . : 2902 Message . . . . : Public write authority on "/ncmgreece". Cause . . . . . : Directory "/ncmgreece" in the classpath has public write authority. If more than one class file in a directory has the same name, the first one found is run. Recovery . . . : If the Classpath security check level (CHKPATH) is *SECURE, the command cannot complete if a directory in the classpath has public write authority. Have your administrator remove public write authority from directory "/ncmgreece", or change CHKPATH and run the command again. If directory "/ncmgreece" remains public write authority and CHKPATH is not *SECURE, you may verify which classes are run by setting the OPTION parameter to *VERBOSE and running the command again. SQL7908 Completion 00 03/31/03 12:24:05 QSQROUTE QSYS *STMT QSQCLI QSYS *STMT From module . . . . . . . . : QSQROUTE From procedure . . . . . . : SQSERVER Statement . . . . . . . . . : 31333 To module . . . . . . . . . : SQLCON To procedure . . . . . . . : SQLConnect Statement . . . . . . . . . : 3681 Message . . . . : Job 030659/QUSER/QSQSRVR used for SQL server mode processing. Cause . . . . . : A Structured Query Language (SQL) statement was executed while running in SQL server mode. SQL statements for this connection or thread will be processed in job 030659/QUSER/QSQSRVR. Technical description . . . . . . . . : SQL server mode was requested by either setting the SQL server mode job attribute, or by setting the server mode environment attribute via the SQL Call Level Interface. When running in this mode, SQL 5722SS1 V5R1M0 010525 Job Log S1030PDM 03/31/03 12:51:18 Page 2 Job name . . . . . . . . . . : QZSHSH User . . . . . . : WXU Number . . . . . . . . . . . : 031352 Job description . . . . . . : FSSDEV Library . . . . . : QGPL MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST statements are processed by a separate job, which runs under the user profile specified for the connection. The thread identifier is 2 and the connection is to Relational Database WILM620. If the Relational Database name is *N, this means that all connections for the thread will use the same job. SQL7908 Completion 00 03/31/03 12:24:18 QSQROUTE QSYS *STMT QSQCLI QSYS *STMT From module . . . . . . . . : QSQROUTE From procedure . . . . . . : SQSERVER Statement . . . . . . . . . : 31333 To module . . . . . . . . . : SQLCON To procedure . . . . . . . : SQLConnect Statement . . . . . . . . . : 3681 Message . . . . : Job 031093/QUSER/QSQSRVR used for SQL server mode processing. Cause . . . . . : A Structured Query Language (SQL) statement was executed while running in SQL server mode. SQL statements for this connection or thread will be processed in job 031093/QUSER/QSQSRVR. Technical description . . . . . . . . : SQL server mode was requested by either setting the SQL server mode job attribute, or by setting the server mode environment attribute via the SQL Call Level Interface. When running in this mode, SQL statements are processed by a separate job, which runs under the user profile specified for the connection. The thread identifier is 2 and the connection is to Relational Database WILM620. If the Relational Database name is *N, this means that all connections for the thread will use the same job. MCH3601 Escape 40 03/31/03 12:24:19 QSQCLI QSYS *STMT QSQCLI QSYS *STMT From module . . . . . . . . : SQLED From procedure . . . . . . : SQLExecDirect Statement . . . . . . . . . : 3737 To module . . . . . . . . . : SQLED To procedure . . . . . . . : SQLExecDirect Statement . . . . . . . . . : 3737 Message . . . . : Pointer not set for location referenced. Cause . . . . . : A pointer was used, either directly or as a basing pointer, that has not been set to an address. CEE9901 Escape 30 03/31/03 12:24:19 QLEAWI QSYS *STMT QJVAJDBC QSYSDIR *STMT From module . . . . . . . . : QLEDEH From procedure . . . . . . : Q LE leDefaultEh Statement . . . . . . . . . : 235 To module . . . . . . . . . : QJVACLII To procedure . . . . . . . : JDBCExecDirect Statement . . . . . . . . . : 1928 Message . . . . : Application error. MCH3601 unmonitored by QSQCLI at statement 0000003737, instruction X'0000'. Cause . . . . . : The application ended abnormally because an exception occurred and was not handled. The name of the program to which the unhandled exception is sent is QSQCLI SQLED SQLExecDirect. The program was stopped at the high-level language statement number(s) 0000003737 at the time the message was sent. If more than one statement number is shown, the program is an optimized ILE program. Optimization does not allow a single statement number to be determined. If *N is shown as a value, it means the real value was not available. Recovery . . . : See the low level messages 5722SS1 V5R1M0 010525 Job Log S1030PDM 03/31/03 12:51:18 Page 3 Job name . . . . . . . . . . : QZSHSH User . . . . . . : WXU Number . . . . . . . . . . . : 031352 Job description . . . . . . : FSSDEV Library . . . . . : QGPL MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST previously listed to locate the cause of the exception. Correct any errors, and then try the request again. CPC1126 Completion 50 03/31/03 12:50:35 QWTCCCNJ QSYS 0480 *EXT *N Message . . . . : Job 031352/WXU/QZSHSH was ended by user WXU. Cause . . . . . : User WXU issued a controlled end job request for job 031352/WXU/QZSHSH. CPC1235 Completion 50 03/31/03 12:51:06 QWTSETME QSYS 0011 *EXT *N Message . . . . : Job 031352/WXU/QZSHSH is ending immediately. Cause . . . . . : The delay time for the controlled end job has been reached. CEE0200 Information 10 03/31/03 12:51:07 QLEAWI QSYS *STMT QZSHSH QSHELL *STMT From module . . . . . . . . : QLEPM From procedure . . . . . . : Q LE leBdyEpilog Statement . . . . . . . . . : 1061 To module . . . . . . . . . : QZSHSH To procedure . . . . . . . : _CXX_PEP Statement . . . . . . . . . : 136 Message . . . . : This job is about to end. Cause . . . . . : The job is being terminated because the job is capable of having multiple threads and the application has issued an exit(), abort() or their equivalent APIs, an exception has occurred and is not being handled, or a return from main() has occurred in a program that runs in a *NEW Activation Group. CPF1164 Completion 00 03/31/03 12:51:18 QWTMCEOJ QSYS 00BB *EXT *N Message . . . . : Job 031352/WXU/QZSHSH ended on 03/31/03 at 12:51:18; 3 seconds used; end code 50 . Cause . . . . . : Job 031352/WXU/QZSHSH completed on 03/31/03 at 12:51:18 after it used 3 seconds processing unit time. The job had ending code 50. The job ended after 1 routing steps with a secondary ending code of 0. The job ending codes and their meanings are as follows: 0 - The job completed normally. 10 - The job completed normally during controlled ending or controlled subsystem ending. 20 - The job exceeded end severity (ENDSEV job attribute). 30 - The job ended abnormally. 40 - The job ended before becoming active. 50 - The job ended while the job was active. 60 - The subsystem ended abnormally while the job was active. 70 - The system ended abnormally while the job was active. 80 - The job ended (ENDJOBABN command). 90 - The job was forced to end after the time limit ended (ENDJOBABN command). Recovery . . . : For more information, see the Work Management topic in the Information Center book, http://www.as400.ibm.com/infocenter.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.