db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From michael.gul...@finaris.de
Subject how to use a java class in a table function in the client server mode
Date Tue, 22 Jul 2008 15:09:18 GMT
Hi,

i wanted to explore the tablefunctions of derby a bit, but struggle to get 
one run in the client server environment. in the embedded mode everything 
works fine. 

i did this after doing the derby tutotial, so for my tests i used the 
tutorial db. i wrote a javaclass and put the jar(called tablefunction.jar) 
in my DERBY_HOME directory aswell as in the derbytutor director.
i added the jar to the windows classpath variable as 
CLASSPATH=.......;c:\Derby_10\tableFunction.jar

then i issued the following statements to the db:

//creates the tablefunction
Create Function Testfunction(varchar(500), varchar(100), varchar(100)) 
returns Table ( id INT, zeit TIMESTAMP, wish VARCHAR(32) ) 
language java 
parameter style derby_jdbc_result_set 
external name 'tableFunction.TableGenerator.read';

//calls the tablefunction
select s.* from table (Testfunction(String1, String2, String3)) s;


i recieve the following errors
ERROR 42X51: Die Klasse 'tableFunction.Wishlist' ist nicht vorhanden oder 
es kann nicht auf die Klasse zugegriffen werden. Diese Situation kann 
eintreten, wenn die Klasse nicht öffentlich ist.
ERROR XJ001: Java-Ausnahme: 'tableFunction.Wishlist: 
java.lang.ClassNotFoundException'.


i run the server from my derbytutor subdirectory if that matters.

the above function works fine, if i use the embedded db. just not for 
client/server.

i also tried to upload the jar to the database, but also without success. 
i issued the following commands for this:

CALL SQLJ.install_jar('c:\derby_10\tablefunction.jar', 
'APP.tableFunction', 0);

CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(
    'derby.database.classpath',
    'APP.tableFunction');


Any ideas, how i could help derby to find the jar? os is windows xp SP3.


thanks in advance
======================================================= Disclaimer The information contained
in this e - mail and any attachments ( together the "message") is intended for the addressee
only and may contain confidential and/or privileged information. If you have received the
message by mistake please delete it and notify the sender and do not copy or distribute it
or disclose its contents to anyone. FINARIS Financial Software Partner GmbH Sömmerringstr.
23, 60322 Frankfurt/Main, Germany Registered at Frankfurt/Main, HRB 52873 Managing Directors:
Dipl. Inf. Hermann Friebel, Dipl. Ing. Kai Bächle, Dipl. Inf. Werner Märkl =======================================================
  
Mime
View raw message