Kbase P116223: Calling a stored procedure using sqlexp -char on AIX crashes the SQL server
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  07/02/2009 |
|
Status: Verified
SYMPTOM(s):
Calling a stored procedure using sqlexp -char on AIX crashes the SQL server
Create stored procedure without error: P20617, "Sample Stored Procedure for SQL92 Engine"
SQLState=HY000
ErrorCode=-30033
[JDBC OpenEdge Driver]:Server did not respond
No database connected. (8934)
JVMCI200 - ERROR: User register saving is not enabled, Garbage Collection could be incorrect.
JVMCI200 - ERROR: because of this the JVM library is explicitly aborting the process
JVMCI200 - ERROR: You must either rebuild the executable using "-bM:UR"
JVMCI200 - ERROR: or run with "export LDR_CNTRL=USERREGS"
oslevel -r 5300-00
java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca142ifx-20060209 (SR4-1) (JIT enabled: jitc))
FACT(s) (Environment):
IBM AIX POWER 5.3 64-bit
OpenEdge 10.0B
CAUSE:
If the marking bm:UR were omitted and the service implements a Java Document Processor, AIX 5.3 requires you define the LDR_CNTRL=USERREGS variable
AIXAuf of a IBM AIX platform must link you with libCM_Engine.a. when compiling and linking as follows vor:xlC_r qthreaded DIFUNIX I${IFCONTENTMASTER_HOME}/include C source.ccxlC_r qthreaded brtl bM:UR o source.o L${IFCONTENTMASTER_HOME}/bin lCM_Engine
http://help.sap.com/saphelp_nw04/helpdata/de/43/6f369f26e16fd1e10000000a1553f6/CMEDevGd.pdf
FIX:
Set the environment for the session used to proserve the database as follows;
(How you set this environment is dependant on your needs, but you need to maintain the order indicated below.)
1. Run proenv from the Progress install directory/bin $DLC/bin/proenv (That will set the $DLC variable, place the $DLC/bin in the $PATH and place you in the working directory configured on the install of Progress.)
2. You can place any directory where needed files will be located in your path or use absolute paths to locate the files.
3. Set the LDR_CNTRL environment variable for java. (LDR_CNTRL=USERREGS; export LDR_CNTRL )
4. Run java_env which will set JDKHOME and JREHOME for this session. (. $DLC/bin/java_env )
5. Run slib_env which will set the library paths. (. $DLC/bin/slib_env )
6. Run sql_env to set up SQL jvm library path (. $DLC/bin/sql_env )
7. Run env to verify that all variables are set as expected.
8. Proserve the database using a port
9. Call the stored procedure: sqlexp -char -db <dbname> -S <port> -H <hostname> -infile <filename of call statement> -outfile <filename for results of call> -user <valid account> -password <account password>