powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / не удается выполнить UDR на java
4 сообщений из 4, страница 1 из 1
не удается выполнить UDR на java
    #36317007
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Коллеги, подскажите плиз что не так
установлен IDS 11.50.FC3DE
OS Solarise 10

вот java-класс

public class myupper
{
public static String mupper(String s)
{
return s.toUpperCase();
}

public static void main(String[] args) {

System.out.println(mupper(args[0]));

}
}

метод main чисто для проверки, что метод myupper работает как надо
компилирую:
javac -g myupper.java
делаю jar:
jar -cf myupper.jar myupper.class

затем в dbaccess'е
регистрирую jar:
execute procedure install_jar(
"file:/opt/informix/extend/krakatoa/examples/myupper.jar",
"myupper_jar",0)

создаю функцию:
create function mupper(Char(255))
returns char(255)
external name 'myupper_jar:myupper.mupper(String)'
language java;

пытаюсь вызвать функцию
execute function mupper("qwerty")

echo "execute function mupper('qwerty')"|dbaccess mydb

Database selected.




(46103) - Cannot find class for type (String).
Error in line 1
Near character position 34


Database closed.



Вот конфигурация
onstat -c|grep JVP|grep -v "#"

JVPJAVAHOME /opt/informix/extend/krakatoa/jre/
JVPHOME /opt/informix/extend/krakatoa
JVPPROPFILE /opt/informix/extend/krakatoa/.jvpprops
JVPLOGFILE /opt/informix/jvp.log
JVPJAVALIB /lib/sparcv9
JVPJAVAVM server
JVPCLASSPATH /opt/informix/extend/krakatoa/krakatoa.jar:/opt/informix/extend/krakatoa/jdbc.jar
...
Рейтинг: 0 / 0
не удается выполнить UDR на java
    #36317067
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
забыл добавить, что демо-запрос для UDT Circle и UDR area(Circle) работает

echo "select c, area(c) from mytable"|dbaccess mydb

Database selected.




c x = 1.000000, y = 1.000000, radius = 1.000000
(expression) 3.141590000000

c x = 2.000000, y = 2.000000, radius = 2.000000
(expression) 12.56636000000

c x = 3.000000, y = 3.000000, radius = 3.000000
(expression) 28.27431000000

3 row(s) retrieved.



Database closed.
...
Рейтинг: 0 / 0
не удается выполнить UDR на java
    #36317141
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
добавил в исходник метод minc

public class myupper
{
public static String mupper(String s)
{
return s.toUpperCase();
}
public static int minc(int n)
{
int r;
r=n+1;
return r;
}

public static void main(String[] args) {

System.out.println(mupper(args[0]));

System.out.println("minc(2)="+minc(2));
}
}

задеплоил jar и скреатил UDR minc(integer)

create function minc (integer )
returns integer
external name 'myupper_jar:myupper.minc (int )'
language java;

процедура работает:
echo "execute function minc(11)"|dbaccess mydb

Database selected.



(expression)

12

1 row(s) retrieved.



Database closed.



Что со Stringom не так?
...
Рейтинг: 0 / 0
не удается выполнить UDR на java
    #36317745
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
ага, вот где собака порылась:

create function mupper(Char(255))
returns char(255)
external name 'myupper_jar:myupper.mupper(java.lang.String)'
language java;

так заработала
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / не удается выполнить UDR на java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]