Это SQL Функция:Получение значения из SQL функции с использованием ParameterDirection
create or replace FUNCTION "TEMPXML"
(
ID IN NUMBER
)
RETURN CLOB IS
val CLOB;
BEGIN
val:=null;
BEGIN
SELECT TEMPID INTO val FROM TEMPDATA WHERE TempdataID=I;
exception
when no_data_found then
null;
end;
return val;
END TEMPXML;
В C# я использую Parameter.ReturnValue но возвращаемое значение всегда DBNull и я получаю исключение Невозможно привести объект типа 'System.DBNull' к типу
sqlCmdSelectReports.Parameters.Add(new OleDbParameter("@xmldata", OleDbType.LongVarChar)).Direction = ParameterDirection.ReturnValue;
sqlCmdSelectReports.ExecuteNonQuery();
String xmlValue = (String)sqlCmdSelectReports.Parameters["@xmldata"].Value;
последняя строка 'System.String' генерирует исключение. Я использую неправильный код в C# или SQL-функция неправильно закодирована?
Каков тип исключения и что говорит это сообщение? –
ConfigurationError: tmpcore.dll: Невозможно наложить объект типа «System.DBNull» на тип «System.String». at .. В моем первом сообщении последняя строка кода бросает исключение – Roniu