因为我的java存储过程返回的是一个javabean.
在写function的时候需要写返回类型,我目前用的是XDB.XDB$JAVATYPE,function能创建成功,但在java掉用的时候,用了javaobject,other等类型都不行.说类型不对.求教.如果把javabean声明为一个type或别的解决方案?create or replace package body ASMSEARCH is      function  getASMRecords (  table2 varchar2,
                                                                            inspectionTime varchar2,
                                                                            license varchar2,
                                                                            inspectionId varchar2,
                                                                            inspectionMethod varchar2,
                                                                            inspectionType varchar2,
                                                                            vin varchar2,
                                                                            inspectionStationId varchar2,
                                                                            eisId varchar2,
                                                                            inspectionStartDate varchar2,
                                                                            inspectionEndDate varchar2,
                                                                            finalOverallResult varchar2,
                                                                            start2 varchar2,
                                                                            end2 varchar2) return XDB.XDB$JAVATYPE
    as   language java 
  NAME  'org.hbj.vid.dao.oracle.procedure.ASMSearchFunction.getASMRecords(java.lang.String ,  java.lang.String ,java.lang.String ,java.lang.String ,java.lang.String ,java.lang.String ,java.lang.String,java.lang.String ,java.lang.String,java.lang.String ,java.lang.String, java.lang.String ,java.lang.String ,java.lang.String ) return java.util.Collection'
   ;

解决方案 »

  1.   

    啊,表述是有点问题.不应该是javabean,而应该是如何把java的Collection或Vector声明为Oracle的一个类型.这是用java写的存储过程在oracle上的package声明.
    其中存储过程中返回的是一个javabean组成的Vector--也就是Collection接口.我目前用的return XDB.XDB$JAVATYPE--这个类型的意思我也不懂.在toad上建表看类型时看到的.但在java程序中找不到这个类型.使用了Type.other,Type.object等,都说类型不对...有什么解决办法呢
      

  2.   

    能吗?有知道的吗?是不是不能出现这种情况啊:存储过程中返回的结果集的类型只能是和oracle对应的那几个java类型.比如varchar2 对应的string,date 对应的date/timestamp 等几个?