Thanks for your response.

Here goes the sample code:

//In the file TrialBalance.java

package accountant;
public class TrialBalance implements java.io.Serializable {

}

//In the file DerbyMehtods.java

package accountant;
public class DerbyMethods {
        public static TrialBalance getTrialBalance() {
                 return new TrialBalance();
       }
}

//In the database I have defined a UDT TrialBalance using the following command:
CREATE TYPE "TRIALBALANCE" EXTERNAL NAME 'accountant.TrialBalance' LANGUAGE JAVA

// A function named GetTrialBalance is also defined in the database using the 
following command:
CREATE FUNCTION GETTrialBalance
    ()
    RETURNS TRIALBALANCE
    PARAMETER STYLE JAVA
    NO SQL
    LANGUAGE JAVA
    EXTERNAL NAME 'accountant.DerbyMethods.getTrialBalance'

On invoking the function GetTrialBalance, an error is thrown The stack trace 
dump is attached to the mail as a text file.

Trust the above information is sufficient to look into the problem. Should 
further information is required, please let me know.

Thanks,
Dinesh


--- On Fri, 3/9/10, Knut Anders Hatlen <knut.hat...@oracle.com> wrote:

From: Knut Anders Hatlen <knut.hat...@oracle.com>
Subject: Re: Returning a UDT from a function
To: "Derby Discussion" <derby-user@db.apache.org>
Date: Friday, 3 September, 2010, 2:30 PM

Dinesh Bajaj <dinesh.ba...@ymail.com> writes:

> It has been a week since I posted this query, but it hasn't elicited 
> any response. May I know why?                                        
>
> Is this query too simplistic to be dismissed with contempt? Or is it 
> too advanced even for some of the highly competent list members? Or  
> is it just plain indifference that no one bothered to reply?         
>                                                                      
> Let me know so I can phrase my future queries accordingly.           

Hi Dinesh,

I suppose no one who read the question had come across that problem
before. If you could post a small example that shows how to reproduce
the IllegalAccessError, perhaps someone will be able to say if you need
to do something differently or if you've found a bug.

Thanks,

-- 
Knut Anders


2010-09-03 10:49:43.496 GMT : Apache Derby Network Server - 10.6.1.0 - (938214) 
started and ready to accept connections on port 1527
2010-09-03 10:55:03.690 GMT : access denied (java.lang.RuntimePermission 
accessClassInPackage.sun.reflect)
java.security.AccessControlException: access denied 
(java.lang.RuntimePermission accessClassInPackage.sun.reflect)
        at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
        at 
java.security.AccessController.checkPermission(AccessController.java:546)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at 
java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:298)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at org.apache.derby.impl.services.reflect.JarLoader.loadClass(Unknown 
Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at sun.misc.Unsafe.defineClass(Native Method)
        at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
        at 
sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
        at 
sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:95)
        at 
sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
        at 
java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1327)
        at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:52)
        at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:437)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.apache.derby.impl.drda.DDMWriter.writeUDT(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeFdocaVal(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeFDODTA(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeQRYDTA(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
2010-09-03 10:55:03.800 GMT : Execution failed because of Permanent Agent 
Error: SVRCOD = 40; RDBNAM = AccountantDB; diagnostic msg = access denied 
(java.lang.RuntimePermission accessClassInPackage.sun.reflect)
org.apache.derby.impl.drda.DRDAProtocolException: Execution failed because of 
Permanent Agent Error: SVRCOD = 40; RDBNAM = AccountantDB; diagnostic msg = 
access denied (java.lang.RuntimePermission accessClassInPackage.sun.reflect)
        at 
org.apache.derby.impl.drda.DRDAProtocolException.newAgentError(Unknown Source)
        at 
org.apache.derby.impl.drda.DRDAConnThread.sendUnexpectedException(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.handleException(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
2010-09-03 10:55:03.801 GMT : access denied (java.lang.RuntimePermission 
accessClassInPackage.sun.reflect)
java.security.AccessControlException: access denied 
(java.lang.RuntimePermission accessClassInPackage.sun.reflect)
        at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
        at 
java.security.AccessController.checkPermission(AccessController.java:546)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at 
java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:298)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at org.apache.derby.impl.services.reflect.JarLoader.loadClass(Unknown 
Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at sun.misc.Unsafe.defineClass(Native Method)
        at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
        at 
sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
        at 
sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:95)
        at 
sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
        at 
java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1327)
        at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:52)
        at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:437)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.apache.derby.impl.drda.DDMWriter.writeUDT(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeFdocaVal(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeFDODTA(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.writeQRYDTA(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)

Reply via email to