Hi Dimple,

In general, the arguments to functions and procedures must be legal Derby datatypes. Derby does not currently have a datatype for arbitrary Java objects. Adding object support (ADTs) to Derby is tracked by DERBY-651.

In the short term, you could try passing your objects as Strings or byte arrays. The corresponding datatypes for the database procedure arguments would be varchar or varbinary. The client would then be responsible for serializing the object as a String or byte array and the actual database procedure code would be responsible for deserializing these forms back into objects.

Hope this helps,
-Rick

Dimple Bhatia wrote:
Hello,
Could someone pls. help me with my question below.
Thanks
Dimple


---------- Forwarded message ----------
From: *Dimple Bhatia* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
Date: Oct 2, 2007 10:32 PM
Subject: Passing in objects to Stored procedures
To: derby-dev <[email protected] <mailto:[email protected]>>

Hi, I am trying to create a database side procedure(procedure will be created when the database is created) but the input parameter needs to be an object of some class X that I have. I tried to d that and for the arg type,I specified "

TypeDescriptor[] arg_types = {

DataTypeDescriptor./getSQLDataTypeDescriptor/(

"Table" )

};"

Where Table is the nam eof the Java class who object I will be passing in when calling the store dprocedure.

But when issuing the preareCall(), I get a null pointer execpetion in

TypeId typeId = TypeId./getBuiltInTypeId/(td.getJDBCTypeId());

in resolveRoutine().

I thought we are allowed to pass in Java objects to stored procedures but the /getBuiltInTypeId returns null/ since it does include the JAVA_OBJECT type id.

Can we create and call java store dprocedures which can take in objects of a class?

if so, can someone help with what I maybemissing here.

Thanks

Dimple.


Reply via email to