我正在使用Enterprise Library 4.1,Visual Studio 2008,SQL Server 2008,并且我使用数据库跟踪侦听器将错误记录到数据库。
在我的开发系统中,一切正常,但在实时系统中,它无法正常工作。
权限没有问题 - 我确定存储过程中存在一些错误。
有没有办法跟踪存储过程错误?
答案 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 & Warnings">
<listeners>
<add name="Event Log Destination" />
</listeners>
</errors>
</specialSources>
如果(或曾经)设置了该设置,则尝试将某些内容记录到数据库侦听器,并检查是否记录了任何错误,指出数据库侦听器无法正常工作的原因。
如果我猜我会把钱放在某种连接问题上。
如果您认为问题出在SQL上,那么您可以启动SQL Server Profiler来跟踪SQL Server活动。您应该能够看到进入的连接和正在执行的SQL。如果您没有看到任何连接和存储过程的活动,那么您就知道没有调用SQL Server。这意味着问题不在于SQL Server /存储过程,而在于代码,配置,权限,防火墙等。