Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Передача входных параметров процедуре из Java / 4 сообщений из 4, страница 1 из 1
19.10.2008, 16:57
    #35602986
anjey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача входных параметров процедуре из Java
Добрый день...
У меня DB2 express-c 9.1.0 на Linux-е
есть хранимая процедура:
Код: plaintext
1.
2.
3.
4.
5.
create procedure proctest3(in name varchar( 50 ), out id bigint)
 language sql
begin
 set id=nextval for level_0;
 insert into test.t(test.t.id, test.t.name) values(id, name);
end

пытаюсь вызвать её из приложения на java

Код: plaintext
1.
2.
3.
4.
5.
6.
      
 Class.forName("com.ibm.db2.jcc.DB2Driver");
 Connection con=DriverManager.getConnection("jdbc:db2://localhost:50000/tdb","username","password");
 CallableStatement cst=con. prepareCall("{call test.proctest3(?,?)}");
 cst.setString("name", data);
 cst.registerOutParameter( 1 ,java.sql.Types.VARCHAR);
 cst.executeUpdate();

в строке 4: name - это имя входного параметра процедуры, а data - переменная типа String

получаю сообщение

err2:[ibm][db2][jcc][10183][10220] вызван метод JDBC3: Метод пока не поддерживается

ругается на строку cst.setString("id", data);

Это значит, что передавать входные параметры процедуре через JDBC-драйвер идущий вместе с Express-C не судьба ? или я вызов не правильно делаю ?

p.s.
файл jdbc драйвера: db2jcc.jar (1973658 байт)
...
Рейтинг: 0 / 0
19.10.2008, 18:58
    #35603069
mustaccio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача входных параметров процедуре из Java
Сомневаюсь, что обращение к параметрам по имени будет работать в ДБ2.

Код: plaintext
1.
cst.setString([color=red] 1 [/color], data);
cst.registerOutParameter([color=red] 2 [/color],java.sql.Types.VARCHAR)
...
Рейтинг: 0 / 0
20.10.2008, 09:00
    #35603422
Передача входных параметров процедуре из Java
обращаться к параметрам надо по его номеру (начиная с 1-го)

cstmt1.setInt( 1, data );
cstmt1.registerOutParameter( 2, java.sql.Types.VARCHAR );
boolean resultCSP = cstmt1.execute();
...
Рейтинг: 0 / 0
24.10.2008, 11:57
    #35614083
anjey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача входных параметров процедуре из Java
Спасибо ! разобрался :)
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Передача входных параметров процедуре из Java / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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