powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Тип из пакета
5 сообщений из 5, страница 1 из 1
Тип из пакета
    #32163549
Шамблер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть пакет на сервере Oracle. Есть процедура в этом пакете. Процедура возвращает массив, который описан в типах в этом же пакете (обычный интежеровский массив). Вот как я вызываю эту процедуру:

OraStoredProc2 := TStorPr.Create(nil);
OraStoredProc2.UnPrepare;
OraStoredProc2.StoredProcName := 'A1.PROCA';
OraStoredProc2.Prepare;
cons := 515;
OraStoredProc2.Params.Items[0].AsInteger := t_id[j];
OraStoredProc2.Params.Items.AsInteger := cons;
n := 0; // выходной пар-р - кол-во элементов в массиве
mas[0] := -1; // выходной массив (0 эл-т в нуль)
OraStoredProc2.Params.Items.AsInteger := n_ind;
OraStoredProc2.Params.Items.ParamType := mas;

with OraStoredProc2 do
begin
execproc; // здесь прога ругается
Execute;
td_zp[j] := OraStoredProc2.Params.items.asinteger;
end;
finally
OraStoredProc2.Destroy;
end;
...................................................
на сервере mas имеет тип 'ARRAY.MASSIV'.
Используется ODAC. При отладке этой же процедуры в PL/SQL всё проходит нормально.

ВОПРОС: как мне вернуть из пакетной процедуры этот mas, чтобы компилятор не ругался ?
...
Рейтинг: 0 / 0
Тип из пакета
    #32163764
Шамблер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, вопрос вдогонку: как выполнить процедуру на сервере, которая возвращает массив?
...
Рейтинг: 0 / 0
Тип из пакета
    #32163780
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне не удалось вернуть определенные наборы данных. ODAC ругается что тип должен быть объявлен. С объявлением типа в ODAC тоже какая-то ерунда. Может кто победил?
При возвращении ref cursor все хорошо.
...
Рейтинг: 0 / 0
Тип из пакета
    #32163843
Шамблер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To MW: не подскажете ли как использовать ref cursor ?
...
Рейтинг: 0 / 0
Тип из пакета
    #32163904
Шамблер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё разобрался. Оказывается всё намного проще. Всем спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Тип из пакета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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