У меня есть определенный пользователем тип со многими атрибутами, например:
create or replace type MyObject is object
(
attribute 1,
attribute 2,
attribute 3
...
)
У меня есть функция, которая возвращает этот объект:
create or replace function GetMyObject
(...params...)
return MyObject
is
...
Теперь я пытаюсь вызвать эту функцию из C# приложение, использующее Oracle.ManagedDataAccess.Client
. Поскольку MyObject
не известен тип C#, я пытаюсь вызвать OracleCommand.ExecuteReader()
и прочитать значения атрибутов из запроса результата один за другим:
select GetMyObject(...) from dual;
Что я получаю в Oracle эта таблица:
| GetMyObject(...) |
--------------------------------
1 | [UserName.MyObject] |
Вместо этого я ожидаю получить это:
| attribute 1 | attribute 2 | attribute 3 | ...
------------------------------------------------------
1 | value 1 | value 2 | value 3 | ...
Как должен выглядеть оператор выбора?