Enterprise Library 4.1数据库日志记录存储过程失败

时间:2011-05-06 14:55:47

标签: database logging enterprise-library

我正在使用Enterprise Library 4.1,Visual Studio 2008,SQL Server 2008,并且我使用数据库跟踪侦听器将错误记录到数据库。

在我的开发系统中,一切正常,但在实时系统中,它无法正常工作。

权限没有问题 - 我确定存储过程中存在一些错误。

有没有办法跟踪存储过程错误?

1 个答案:

答案 0 :(得分:0)

你的问题没有太多可继续性。

但作为开始,我会检查您是否将错误源配置为使用非数据库侦听器(例如,平面文件或事件日志)。如果您使用的是配置文件,它将如下所示:

<listeners>
  <add source="Logging Quick Start" formatter="Text Formatter"
    log="" machineName="." listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    traceOutputOptions="None" filter="All" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
    name="Event Log Destination" />
</listeners>
<specialSources>
  <errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
      <add name="Event Log Destination" />
    </listeners>
  </errors>
</specialSources>

如果(或曾经)设置了该设置,则尝试将某些内容记录到数据库侦听器,并检查是否记录了任何错误,指出数据库侦听器无法正常工作的原因。

如果我猜我会把钱放在某种连接问题上。

如果您认为问题出在SQL上,那么您可以启动SQL Server Profiler来跟踪SQL Server活动。您应该能够看到进入的连接和正在执行的SQL。如果您没有看到任何连接和存储过程的活动,那么您就知道没有调用SQL Server。这意味着问题不在于SQL Server /存储过程,而在于代码,配置,权限,防火墙等。