CLR存储过程调用.NET类实例

时间:2008-12-17 17:00:11

标签: .net stored-procedures clr instance

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

中没有记录任何条目

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

任何帮助将不胜感激

谢谢,

arunganu

.......
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
      }
  }
}

1 个答案:

答案 0 :(得分:2)

IIRC,你需要给予程序集不安全的许可。