powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 не может загрузить жава класс
4 сообщений из 4, страница 1 из 1
db2 не может загрузить жава класс
    #35140513
Pilat_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
============================================================
О среде инструментов управления DB2
============================================================
Уровень инструментов управления DB2:
Идентификатор продукта SQL08020
Идентификатор уровня 03010106
Уровень DB2 v8.1.7.664
Уровень компиляции s040914
PTF WR21342
============================================================
Комплект разработки Java (JDK):
Уровень IBM Corporation 1.4.1
============================================================
WinXP
Создан жава класс Utils.class
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
import java.sql.Timestamp;

public class Utils{
	public static long getUnixDate(Timestamp ts){
		return ts.getTime();
	}
}

Класс размещен в C:\Program Files\IBM\SQLLIB\FUNCTION\
Функция создается следующим образом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
drop function    transit.getUnixDate(timestamp);
create function transit.getUnixDate(ts timestamp)
RETURNS BIGINT
LANGUAGE Java
EXTERNAL NAME 'Utils.getUnixDate'
FENCED THREADSAFE
NO SQL
NOT NULL CALL
NO EXTERNAL ACTION
DISALLOW PARALLEL
DETERMINISTIC
PARAMETER STYLE java;
GRANT EXECUTE ON FUNCTION TRANSIT.GETUNIXDATE(timestamp) TO USER DB2ADMIN WITH GRANT OPTION;
GRANT EXECUTE ON FUNCTION TRANSIT.GETUNIXDATE(timestamp) TO USER DB2USER WITH GRANT OPTION;

При попытке вызвать функцию вылетает ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
SQL4304N  Хранимая процедура или определенная пользователем функция Java 
"TRANSIT.GETUNIXDATE", уникальное имя "SQL080219100455000" не могут загрузить 
класс Java "Utils", код причины "1".  SQLSTATE= 42724 

SQL4304N  Хранимая процедура или определенная пользователем функция Java "TRANSIT.GETUNIXDATE", уникальное имя "SQL080219100455000" не могут загрузить класс Java "Utils", код причины "1                        ".

Объяснение: 

Нельзя загрузить класс Java, заданный в условии EXTERNAL NAME 
оператора CREATE PROCEDURE или CREATE FUNCTION.  Коды причин: 
 

 1  Класс не найден по пути CLASSPATH.  

 2  Этот класс не поддерживает требуемый интерфейс             
("COM.ibm.db2.app.StoredProc" или "COM.ibm.db2.app.UDF") or или у 
него нет флага доступа "public".  

 3  Конструктор по умолчанию завершился неудачно или недоступен.  

 4  Не удалось загрузить драйвер для "jdbc:default:connection".  

 5  Не удалось установить контекст по умолчанию.  

Действия пользователя: 

Убедитесь, что скомпилированный файл ".class" находится по пути 
CLASSPATH, например, в "sqllib/function".  Убедитесь, что он 
реализует требуемые интерфейсы Java и объявлен как "public".  

 sqlcode :  - 4304  

 sqlstate :  42724  

ОЧень нужна помощь.
На машине с вистой и дб2 9.1 - все прекрасно работает.
...
Рейтинг: 0 / 0
db2 не может загрузить жава класс
    #35140624
На каком JDK класс компилировался?
Если компилировался на JDK-1.5, то для работы класса на JRE-1.4.2 нужно компилировать с ключами
Код: plaintext
javac -source  1 . 4  -target  1 . 4  <myprog>.java
...
Рейтинг: 0 / 0
db2 не может загрузить жава класс
    #35140694
Pilat_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений ХабаровНа каком JDK класс компилировался?
Если компилировался на JDK-1.5, то для работы класса на JRE-1.4.2 нужно компилировать с ключами
Код: plaintext
javac -source  1 . 4  -target  1 . 4  <myprog>.java

Благодарствую, неужели нельзя написать грамотное сообщение о ошибке? )
...
Рейтинг: 0 / 0
db2 не может загрузить жава класс
    #35147515
chro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Этот класс не поддерживает требуемый интерфейс
("COM.ibm.db2.app.StoredProc" или "COM.ibm.db2.app.UDF") or или у
него нет флага доступа "public".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 не может загрузить жава класс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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