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 に答える