2012-03-13 1 views
0

Как указать запрос, который использует хранимую процедуру в пакете? Например, этот запрос завершается с сообщением:Запрос хранимой процедуры в ORACLE с использованием пригодности/dbfit

!|Query|SELECT * FROM TABLE (pckg.GetData('param1'))| 
|field1| 
|value1| 

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Column 'ugp_udf_name' does not belong to table Table. 
    at System.Data.DataRow.GetDataColumn(String columnName) 
    at System.Data.DataRow.get_Item(String columnName) 
    at fitSharp.Machine.Engine.InvokeDataRow`2.Invoke(TypedValue instance, MemberName memberName, Tree`1 parameters) 
...(the rest of the stack trace) 

ответ

0

DbFit пород ...

!|Query|SELECT pckg.GetData('param1') field1 from dual| 
|field1| 
|value1| 
+0

Я исправил опечатку в SQL заявление оригинального вопроса. Он должен работать так, как есть. Для моего случая использование двойного не работает - выбрасывает ошибку «Неподдерживаемый Oracle data type USERDEFINED столкнулся», но, похоже, из-за типа/s полей, которые возвращаются, может работать и в других случаях. – Erik

+0

Да, пользовательские типы не поддерживаются в dbfit. Вам нужно будет выбрать атрибуты объекта напрямую. –

Смежные вопросы