Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Создание объекта связь с Java - классом (ORA-29540)  [new]
HOME_X
Member

Откуда:
Сообщений: 2330
Доброго дня господа !

Имею Java-источник
create or replace and compile java source named "jsFone" as

package pkFone;

public class clFone 
{
  public String state;

  public clFone()
  {
    this.state="create";
    return;
  }
  
  public static String Review(String s)
  {
    return "execute View "+s;
  }
}


Проверка валидности
select  object_name, 
        object_type, 
        status
  from user_objects
where object_type LIKE 'JAVA%';


OBJECT_NAME	  OBJECT_TYPE	STATUS
pkFone/clFone	  JAVA CLASS	  VALID
jsFone	          JAVA SOURCE	  VALID


PL/SQL обертка
create or replace type ttFone as object 
          external name 'pkFone.clFone' language java
using SQLData(
              State  Varchar(50) external name 'state',

              constructor function ttFone(self in out noCopy ttFone)
                   return self as result as language java
                     name 'pkFone.clFone.clFone() return pkFone.clFone',

              static function Review(Str Varchar2)
                       return Varchar2
                     external name 'pkFone.clFone.Review(java.lang.String) return java.lang.String'
             ) 
             not final


Код запуска
begin 
   declare
     f ttFone;
   begin 
     Dbms_output.put_line(ttFone.Review('Hello'));
     f:=ttFone();
   end;
end;


Связь с классом успешна, команда Dbms_output.put_line(ttFone.Review('Hello')); - отработала
Буфер = execute View Hello

При создании переменной класса f:=ttFone();
Возникает ошибка = ORA-29540: class oracle.aurora.sqljtype.SQLJ ..(длинный собственный идентификатор).. does not exist

Подскажите пожалуйста.
Заранее благодарен !
4 дек 18, 01:13    [21752496]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить