Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / procedure a (val out clob). Как принять через System.Data.OracleCient ? / 3 сообщений из 3, страница 1 из 1
04.01.2005, 23:45
    #32853946
codec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
procedure a (val out clob). Как принять через System.Data.OracleCient ?
Чтото у меня никак не получается извлеч значение, возвращаемое процедурой в параметре типа out clob.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure settings_get
(
	p_name settings.name%type,
	p_value out clob
)
is
begin
	select
		value
	into
		p_value
	from
		settings
	where
		name = p_name;
end;

Добавление параметра к OracleCommand:
Код: plaintext
1.
2.
OracleParameter p_value = new OracleParameter("p_value", OracleType.Clob);
p_value.Direction = ParameterDirection.Output;
command.Parameters.Add(p_value);

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
try
{
	connection.Open();
	command.ExecuteNonQuery();
	OracleLob lob = (OracleLob) p_value.Value;

	result = (string) p_value.Value;
}
finally
{
	connection.Close();
}

вместо нормального значения получаю result = "System.Data.OracleClient.OracleLob"; :(

из MSDN:
OracleLob Object
public object Value {get;}

Property Value
For Blob, an array of type Byte[]. For Clob and NClob, a String. For null data, DBNull.

Если кто сталкивался - подскажите в чем проблема. Или ткните в пример работающего кода.
Заранее благодарен.
...
Рейтинг: 0 / 0
04.01.2005, 23:46
    #32853947
codec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
procedure a (val out clob). Как принять через System.Data.OracleCient ?
Ой. Не в тот форум запостил. Мои извенения.
2 Модераторы:
переместите в ADO.NET.
...
Рейтинг: 0 / 0
05.01.2005, 15:30
    #32854513
codec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
procedure a (val out clob). Как принять через System.Data.OracleCient ?
Все изза моей невнимательности. Вот правильный код.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
try
{
	connection.Open();
	command.ExecuteNonQuery();
	OracleLob lob = (OracleLob) p_value.Value;

	result = (string) lob.Value;
}
finally
{
	connection.Close();
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / procedure a (val out clob). Как принять через System.Data.OracleCient ? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]