Вложенные курсоры Oracle из ADO.NET

_dig
Дата: 21.12.2005 20:42:30
Привет,

надо бы мне пару табличек связанных прочитать, но одной "простыней" читать не хотелось бы, потому как в этом случае придется тянуть избыточные данные.

В оракле есть такая возможность:

SELECT
t1.*,
CURSOR (
SELECT t2.* FROM table2 t2
WHERE t2.FKfield = t1.PKfield) my_cursor
FROM table1 t1
WHERE
-- ну и ограничения на table1:
t1.field like "conditions"


Вот только прочитать такое с помощью OracleDataReader у меня не получается:

String conStr = "blabla";
String sqlCmd = "blabla";
OracleConnection con = new OracleConnection(conStr);
con.Open();

OracleCommand cmd = new OracleCommand(sqlCmd, con);

OracleDataReader reader = cmd.ExecuteReader();
object[] vals = new object[reader.FieldCount];
while (reader.Read()) {
reader.GetValues(vals);
}

Короче, при попытке reader.Read() "заваливается" с внутренней ошибкой провайдера -3000.