Connecting Tech Pros Worldwide Forums | Help | Site Map

SQL4304N RC=1

kavallin@hotmail.com
Guest
 
Posts: n/a
#1: Nov 20 '06
I have a strange problem.. Creating and installing java stored
procedures through :
1) call sqlj.install_jar
2) Creating the sprocs db2 -td@ -vf sproc1.sql
3) call sqlj.refresh_classes ()
Checking that the jar is in the correct place /sqllib/function/jar and
that the jar file contains the expected files but .. trying to run the
sprocs results in
SQL4304N Java stored procedure or user-defined function
"schemaname.xxxxxx",
specific name "xxxxxx" could not load Java class "xxxxxx/yyyyyy",
reason
code "1". SQLSTATE=42724
I have approx 140 java procedures on the database server and the
problem seems to be as soon as I ad a proc with a new schema name I
will get sql4304 rc=1. If I change or replaces an existing sproc I dont
have any problems at all.
A restart of the dbm solves the problem but .. this shouldn't be
neccesary or ?
I have the following the dbm cfg :
Keep fenced process (KEEPFENCED) = YES
Number of pooled fenced processes (FENCED_POOL) =
MAX_COORDAGENTS
Initial number of fenced processes (NUM_INITFENCED) = 2
Java Development Kit installation path (JDK_PATH) = /usr/j2se
Java Virtual Machine heap size (4KB) (JAVA_HEAP_SZ) = 8192
/roger


shenanwei@gmail.com
Guest
 
Posts: n/a
#2: Nov 20 '06

re: SQL4304N RC=1


KEEPFENCED= yes will load your jar into memory until you restart db2.

If you do not issue the CALL SQLJ.REFRESH_CLASSES() statement after you
update Java routine classes, DB2 continues to use the previous versions
of the classes. The CALL SQLJ.REFRESH_CLASSES() statement only applies
to FENCED routines. DB2 refreshes the classes when a COMMIT or ROLLBACK
occurs.


call sqlj.refresh_classes ()
kavallin@hotmail.com wrote:
Quote:
I have a strange problem.. Creating and installing java stored
procedures through :
1) call sqlj.install_jar
2) Creating the sprocs db2 -td@ -vf sproc1.sql
3) call sqlj.refresh_classes ()
Checking that the jar is in the correct place /sqllib/function/jar and
that the jar file contains the expected files but .. trying to run the
sprocs results in
SQL4304N Java stored procedure or user-defined function
"schemaname.xxxxxx",
specific name "xxxxxx" could not load Java class "xxxxxx/yyyyyy",
reason
code "1". SQLSTATE=42724
I have approx 140 java procedures on the database server and the
problem seems to be as soon as I ad a proc with a new schema name I
will get sql4304 rc=1. If I change or replaces an existing sproc I dont
have any problems at all.
A restart of the dbm solves the problem but .. this shouldn't be
neccesary or ?
I have the following the dbm cfg :
Keep fenced process (KEEPFENCED) = YES
Number of pooled fenced processes (FENCED_POOL) =
MAX_COORDAGENTS
Initial number of fenced processes (NUM_INITFENCED) = 2
Java Development Kit installation path (JDK_PATH) = /usr/j2se
Java Virtual Machine heap size (4KB) (JAVA_HEAP_SZ) = 8192
/roger
kavallin@hotmail.com
Guest
 
Posts: n/a
#3: Nov 20 '06

re: SQL4304N RC=1


Ok.. my java procs are FENCED and THREADSAFE , KEEPFENCED=NO is not an
option in a prodction environment according to all docs for DB2..
Notice again that problem occures , at least what I have seen, only
when I use a new schema name for my procs..
/roger

Closed Thread


Similar DB2 Database bytes