ORA-29540: class chemaxon/jchem/cartridge/JFunctions does no

User 4140faeba5

15-04-2009 13:35:04

Hi.


I have an Oracle version 10.2.0.4 and just installed the 5.2 cartridge.


In one schema I have the following procedure.


CREATE



OR REPLACE procedure testjchem(blek integer)

as



v_sql


varchar2(255);

begin



jchem_core_pkg.use_password('kalle');



end;


/

grant execute on testjchem to elnruntime;



If I try to execute that procedure from another schema I get the following.


SQL> conn elnruntime
Enter password:
Connected.
SQL>
SQL>
SQL> call eln.testjchem(1)
  2  ;
call eln.testjchem(1)
     *
ERROR at line 1:
ORA-29540: class chemaxon/jchem/cartridge/JFunctions does not exist

ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 43
ORA-06512: at "ELN.TESTJCHEM", line 9

 





This works on other versions I have (Oracle 10.1.0.5 and jchem 5.0.2.1).



I have followed the installation instructions with grants, etc, but maybe I have missed something.



Regards,

Mikael



 

ChemAxon aa7c50abf8

15-04-2009 13:40:34

Mikael,


It is in the ELN schema where the error occurs, correct?


Thanks


Peter

User 4140faeba5

15-04-2009 13:44:54

Well, the procedure is in the eln schema,


but I'm executing it from elnruntime schema.


 


I can use the jchem_core_pkg.use_password


as eln from eln schema and as elnruntime from elnruntime schema, but


using the procedure now.

ChemAxon aa7c50abf8

15-04-2009 14:05:16

Has been ELN granted privileges on JCHEM's object directly or through a role?


Thanks


Peter

User 4140faeba5

15-04-2009 15:04:25

Both through the role JCC_BASIC_ROLE and directly.

User 4140faeba5

16-04-2009 08:14:32

The same error is in Oracle 11.


SQL> select user from dual;

USER
------------------------------
ELNSESSION

SQL> call jchem_core_pkg.use_password('kalle');

Call completed.

SQL> select jchem_core_pkg.getenvironment() from dual;

JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
Oracle environment:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE    11.1.0.7.0      Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

JChem Server environment:
Java VM vendor: Sun Microsystems Inc.
Java version: 1.5.0_12
Java VM version: 1.5.0_12-b04

JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
JChem version: 5.2.0
JChem Index version: 5020005
JDBC driver version: 11.1.0.7.0-Production


SQL> call eln.testjchem(1);
call eln.testjchem(1)
     *
ERROR at line 1:
ORA-29540: class chemaxon/jchem/cartridge/JFunctions does not exist
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 43
ORA-06512: at "ELN.TESTJCHEM", line 9


SQL>


 


Don't know if this is relevant, but first call to jchem_core_pkg.use_password


after a restart gives this info line.


INFO: Using chemaxon.jchem.cartridge.util.cpool.Oracle10gDataSource


 

ChemAxon aa7c50abf8

16-04-2009 09:00:47

I think the problem is that you also need to grant execute privileges on the Java classes directly to users -- in order to be executed from within a PL/SQL package, procedure or function:


[??/jchem/cartridge]$ loadjava -grant eln -user jchem/password jcart.jar
[??/jchem/cartridge]$ loadjava -grant elnruntime -user jchem/password jcart.jar


This is the equivalent of step #5 in Configuring JChem Cartridge users, which was not required with Oracle versions prior to 10.2.0.4.


The requirement of explicitely granting execute privileges on Java classes appeared starting Oracle 10.2.0.4 and 11.1.0.7. With previous Oracle versions, granting execute privileges on the declaring PL/SQL procedures/functions had been enough.


Peter

User a0ee4512d1

16-06-2010 16:36:03

Hi Peter,


 


I got the same problem with oracle 11g. I did everything the adminstration guide said, and still got:


 


ERROR at line 1:
ORA-29902: error in executing ODCIIndexStart() routine
ORA-29540: class chemaxon/jchem/cartridge/JFunctions does not exist
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 51
ORA-06512: at "JCHEM.JC_IDXTYPE_IM", line 344


Do you have a detailed setup guide for 11g?


 


Thanks,


 


Yuhong

ChemAxon aa7c50abf8

16-06-2010 17:12:47

Hi Yuhong,


There is no 11g-specific setup guide.


Based on the error message, I assume that the problem occurs during the execution of a structure search. Please, could you tell which user executes the search and which user own the index?


Thanks


Peter