Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > log4net + fluent nhibernate


Автор: qwertylolman 19.4.2011, 16:32
Необходимо писать логи в базу данных. для работы с базой используется fluent nhibernate. не получается настроить log4net.
писал по примеру из 
http://www.codeproject.com/KB/dotnet/LoggingWithNHibernate.aspx

на данный момент nhibernate подключается к mysql, в ближайшем будущем база будет оракл.
собственно проблема. при таком варианте:
Код

public int ExecuteNonQuery()
        {
            //get iquery object
            string str = SetParametersInQuery(CommandText, Parameters);
            //IQuery query = _session.CreateSQLQuery(str);
            IQuery query = _session.CreateQuery(str);


            //add all parameters
            foreach (HDbDataParameter p in Parameters)
                query = query.SetParameter(p.ParameterName, p.Value);
            
            //execute
            return query.ExecuteUpdate();
        }

появляется "Object reference not set to an instance of an object." во время выполнения метода IQuery.CreateQuery()


при таком варианте
Код

public int ExecuteNonQuery()
        {
            //get iquery object
            //string str = SetParametersInQuery(CommandText, Parameters);
            IQuery query = _session.CreateSQLQuery(CommandText);
            //IQuery query = _session.CreateQuery(str);


            //add all parameters
            foreach (HDbDataParameter p in Parameters)
                query = query.SetParameter(p.ParameterName, p.Value);
            
            //execute
            return query.List().Count;
        }

появляется "could not execute query
[ INSERT INTO Log (Date,Thread,Level,Logger,Message) VALUES (?p0,?p1,?p2,?p3,?p4) ]
  Name:log_date - Value:2011-04-19 16:31:11.906  Name:thread - Value:10  Name:log_level - Value:WARN  Name:logger - Value:NHibernateLogging  Name:message - Value:warn
[SQL: INSERT INTO Log (Date,Thread,Level,Logger,Message) VALUES (?p0,?p1,?p2,?p3,?p4)]" во время вполнения IQuery.List()

где грабли?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)