Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Передача массива в хранимую процедуру в Oracle  [new]
spainard
Member

Откуда:
Сообщений: 26
Делаю вот так:

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection("jdbc:oracle:thin:@191.2.345.145:1521:base", "user", "pass");

String s[] = {"hello","world","array"};
ArrayDescriptor desc = ArrayDescriptor.createDescriptor("TString", con);
ARRAY Aary = new ARRAY(desc, con, s);

CallableStatement cstmt = con.prepareCall("{? = call Shem.Check(?, ?)}");
cstmt.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.FLOAT);
cstmt.setString(2, code);
cstmt.setArray(3, Aary);
cstmt.execute();
int plimt=cstmt.getInt(1);
System.out.println(name+" "+plimt);
cstmt.close();
con.close();
При этом ошибка, на строке ArrayDescriptor desc ...
Не может найти Shem.TString?
Может есть другой способ передать массив в храним. процедуру?
2 фев 04, 16:40    [517524]     Ответить | Цитировать Сообщить модератору
 Re: Передача массива в хранимую процедуру в Oracle  [new]
Ося
Member

Откуда:
Сообщений: 2135
внимательно почитай доку: JDBC Developer’s Guide and Reference
про соответствие типов
2 фев 04, 16:46    [517540]     Ответить | Цитировать Сообщить модератору
 Re: Передача массива в хранимую процедуру в Oracle  [new]
spainard
Member

Откуда:
Сообщений: 26
Не могли бы по подробнее. Какой тип прописывать в:
ArrayDescriptor desc = ArrayDescriptor.createDescriptor("TSTRING", con);
Как правильно задать этот тип?
2 фев 04, 17:09    [517595]     Ответить | Цитировать Сообщить модератору
 Re: Передача массива в хранимую процедуру в Oracle  [new]
spainard
Member

Откуда:
Сообщений: 26
Не работает с теми типами, которые в доке указаны. Нужна консультация! Помогите, плиз!
4 фев 04, 12:23    [520357]     Ответить | Цитировать Сообщить модератору
 Re: Передача массива в хранимую процедуру в Oracle  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
Как выглядит процедура в Oracle? Что используется в качестве типа параметра-массива?
5 фев 04, 14:23    [522487]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить