type
t_smetacursor is ref cursor;
procedure get_client_smeta(
v_client in plan_client.client%type,
v_year in plan_client.year%type,
v_media in plan_client.media_type%type,
v_cursor in out t_smetacursor
)is
begin
open v_cursor for
select .........
end;
Как из с помощью JDBC вызвать эту функцию?
Пробовал использовать класс CallableStatement, но там при регистрации выходных параметров необходимо указывать тип результата. А как сказать чтобы оно возвращало ResultSet я не знаю.
Заранее благодарен за любую помощь
Здравствуйте, Taar, Вы писали:
T>Как из с помощью JDBC вызвать эту функцию? T>Пробовал использовать класс CallableStatement, но там при регистрации выходных параметров необходимо указывать тип результата. А как сказать чтобы оно возвращало ResultSet я не знаю. T>Заранее благодарен за любую помощь
Спасибо за идею. Но к сожалению к моей задаче не подходит. Просто у меня вызывается не функция а процедура, у которой один из параметров является in out. И я не знаю как зарегестрировать последний выходной параметр, являющийся курсором.
Очень не хотелось бы переписывать уже работающее приложение, уже работающее приложение, которое использует данные функции.
не пойдет?
T>Спасибо за идею. Но к сожалению к моей задаче не подходит. Просто у меня вызывается не функция а процедура, у которой один из параметров является in out. И я не знаю как зарегестрировать последний выходной параметр, являющийся курсором.
T>Очень не хотелось бы переписывать уже работающее приложение, уже работающее приложение, которое использует данные функции.
Здравствуйте, bugmaker, Вы писали:
B>аналогичный вопрос, но только используется MS SQL Server 2000 B>как зарегистрировать в качестве выходного параметра курсор и затем получить его?
Возможно я ошибаюсь, так как MS SQL уже давно не трогал. Но по-моему там нельзя передавать — возвращать курсор в хранимую процедуру. Такое решается другим образом. Хранимая процедура может возвращать сразу DataSet, кажется. Спроси на форму по БД.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, bugmaker, Вы писали:
B>>аналогичный вопрос, но только используется MS SQL Server 2000 B>>как зарегистрировать в качестве выходного параметра курсор и затем получить его?
B>Возможно я ошибаюсь, так как MS SQL уже давно не трогал. Но по-моему там нельзя передавать — возвращать курсор в хранимую процедуру. Такое решается другим образом. Хранимая процедура может возвращать сразу DataSet, кажется. Спроси на форму по БД.
передавать и возвращать можно
вопрос в том как это смделать из джавы через JDBC драйвер Microsoft для SQL Server
JDBC драйвер оракла позволяет вытворять такие вещи как описано выше в этом топике
а вот мсовский исходя из нарытой мной методом тыка информации такую возможность не поддерживает
в перечислении типов в доке к дпрайверу курсора нет, а при передаче в registerOutParameter например java.sql.Types.OTHER ругается что такой тип не поддерживается
> > B>>класс OracleTypes в драйвере должен быть. > > T>Большое спасибо!!! > > аналогичный вопрос, но только используется MS SQL Server 2000 > как зарегистрировать в качестве выходного параметра курсор и затем получить его?
Нет необходимости использовать курсоры для того чтобы вернуть ResultSet
из Microsoft SQL Server'а.
У меня как то стояла задача вернуть ризалтсэт из оракловой хранимой
процедуры, так вот я тогда повозился с курсорами. С майкрософт сиквелом
проще, там чтобы из хранимой процедуры вернуть ризалтсет надо просто
сделать SELECT ... перед выходом из процедуры.
>> >> B>>класс OracleTypes в драйвере должен быть. >> >> T>Большое спасибо!!! >> >> аналогичный вопрос, но только используется MS SQL Server 2000 >> как зарегистрировать в качестве выходного параметра курсор и затем получить его?
A>Нет необходимости использовать курсоры для того чтобы вернуть ResultSet A>из Microsoft SQL Server'а. A>У меня как то стояла задача вернуть ризалтсэт из оракловой хранимой A>процедуры, так вот я тогда повозился с курсорами. С майкрософт сиквелом A>проще, там чтобы из хранимой процедуры вернуть ризалтсет надо просто A>сделать SELECT ... перед выходом из процедуры.
знаю
но фишка в том чтобы джавовый код был совместим с ораклом, а оракл, насколько мне известно, в хранимых процедурах вот такой селект как раз и не поддерживает, а только выходные параметры типа курсор