Здравствуйте, Funny Rabbit, Вы писали:
FR>Добрый вечер. Почему может не возвращаться результат?
Первый вопрос — пробовали ли исполнять запрос в каком-нибудь клиенте, типа SQL-Plus?
Надо убедиться, что процедура вообще что-то возвращает.
Второй вопрос — а каких
строк вы ожидали?
Вы же передаёте результат через параметр, а не через датасет.
Судя по
stackoverflow, вам надо
using (OracleConnection oca = new OracleConnection("..."))
{
oca.Open();
using (OracleCommand ocmd = new OracleCommand())
{
ocmd.Connection = oca;
ocmd.CommandType = System.Data.CommandType.StoredProcedure;
ocmd.CommandText = "phone_links";
ocmd.InitialLOBFetchSize = 8192;
OracleParameter op = new OracleParameter();
op.ParameterName = "res";
op.Direction = ParameterDirection.Output;
op.OracleDbType = OracleDbType.Clob;
ocmd.Parameters.Add(op);
ocmd.ExecuteNonQuery();
if (!DBNull.Value.Equals(ocmd.Parameters["res"].Value))
rtbLinks.Text = (string)ocmd.Parameters["res"].Value;
else
rtbLinks.Text = "No rows. ";
}
}