Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 трабл с получением варчар2 значения...  [new]
pvnic
Member

Откуда:
Сообщений: 93
привет всем.

есть у меня в оракле некая функция, которая возвращает варчар2 значение.
из С# я его пытаюсь дернуть так:
1. получаю список параметров для функции
2. далее
System.Data.OleDb.OleDbParameter objParameter = objDBCommand.CreateParameter();
if(objDataRow["argument_name"].ToString() == "")
{ objParameter.ParameterName = "RETURN_VALUE";
objParameter.Direction = System.Data.ParameterDirection.ReturnValue;
}


3.
objParameter.OleDbType = System.Data.OleDb.OleDbType.VarChar;
objParameter.Size = 8096;


4.
objDBCommand.CommandType = System.Data.CommandType.StoredProcedure;
objDBCommand.CommandText = "functName";
dsData = new DataSet();
objDataAdapter.SelectCommand = objDBCommand;
objDataAdapter.Fill(dsData);




при попытке objDataAdapter.Fill(dsData); получаю что stack trace сильно большой.
меняю objParameter.Size = 255; - все проходит, параметр возвращается.

Вопрос - какое правильное значение должно стоять вместо 8096?

то же относиться и к out параметрам типа varchar2.
20 ноя 03, 12:23    [426051]     Ответить | Цитировать Сообщить модератору
 Re: трабл с получением варчар2 значения...  [new]
EvgeniyW
Member

Откуда: Оренбург - Москва
Сообщений: 93
Что то не очень понятно.
Я использую Oracle .NET провайдер от Microsoft.
В таких случаях вообще не указываю длину параметра. все работает нормально.
Удачи)))
26 ноя 03, 19:41    [434849]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить