Приложение использует Oracle DataAccess ver. 1.1. , VS 2008, .Net Framework 3.5 с пакетом обновления 1 (SP1)
OracleConnection connection = new OracleConnection(ConnectionStringLogon);
connection.Open();
OracleParameter selectParam = new OracleParameter(":applicationName", OracleDbType.Varchar2, 256);
selectParam.Value = applicationName;
if (connection.State != ConnectionState.Open)
connection.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = connection;
cmd.CommandText = "Select ApplicationId from Applications where AppName = 'appName'";
cmd.CommandType = CommandType.Text;
if (selectParam != null)
{
cmd.Parameters.Add(selectParam);
}
object lookupResult = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if (lookupResult != null)
Процедура завершается ошибкой при поиске объекта. Результат = cmd.ExecuteScalar(); с этой ошибкой:
Тип события: Ошибка Источник события: Журнал приложений Категория события: Нет КОД события: 9961 Дата: 30 сентября 2008 г. Время: 16:42:11 Пользователь: Н/Д Компьютер: Server15 Описание: System.NullReferenceException: Ссылка на объект не задана к экземпляру объекта. в Oracle.DataAccess.Client.OracleCommand.ExecuteReader (логический запрос, логическое fillRequest, поведение CommandBehavior) в Oracle.DataAccess.Client.OracleCommand.ExecuteReader() в Oracle.DataAccess.Client.OracleCommand.ExecuteScalar() в Membership.OracleMembershipProvider.GetApplicationId (String applicationName, Boolean createIfNeeded) в OracleMembershipProvider.cs:строка 1626
Я смотрел на это со всех сторон, которые только мог себе представить... в основном, независимо от того, как я это оборачиваю, Execute терпит неудачу.