1

我编写了一个 CLR 存储过程(如下所列) 抛出异常的代码行只是为了在 EventLog 中记录异常而添加的 我部署了程序集并在数据库中创建了存储过程 但是当我执行存储过程时Windows 的 EventLog 中没有记录任何条目

如果在单独的 Windows 控制台应用程序中使用 EventLog 的代码,则会记录异常

任何帮助,将不胜感激

谢谢,

阿龙加努

.......
using System.Diagnostics;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
.......
[Microsoft.SqlServer.Server.SqlProcedure]
public static SqlInt32 Posting(SqlString tag)
{
  try
  {
      ...
       throw new ArgumentException("arg exc");
      ...
      return 0;    //  success
  }
  catch (Exception e)
  {
      try
      {
          EventLog PostingLog = new EventLog("Application");
          PostingLog.Source = "Posting";
          PostingLog.WriteEntry(e.Message, EventLogEntryType.Error);
          PostingLog.Close();
          return 1;   //  error
      }
      catch  // in case when another exception is raised from the try block above
      {
          return 1;   // error
      }
  }
}
4

1 回答 1

2

IIRC,您需要授予程序集不安全的权限。

于 2008-12-17T18:43:10.823 回答