2008-12-17 6 views
1

I codded une procédure stockée CLR (ci-dessous) La ligne de code où l'exception est levée a été ajouté juste pour le but d'avoir l'exception connecté EventLog Je déployé l'Assemblée et créé le proc stocké dans la base de données Cependant, lorsque j'exécute la procédure stockée aucune entrée est enregistrée dans le journal des événements Windowsprocédure stockée CLR appelant la classe .NET par exemple

Si le code où le EventLog est utilisé dans une application console Windows séparée, puis l'exception est consignée

Toute aide serait appréciée

Merci,

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 
     } 
    } 
} 
+0

Comme ça, c'est illisible – terjetyl

Répondre

2

IIRC, vous devez donner à l'Assemblée l'autorisation non sécuritaire. Utilisez le formatage du code sur votre texte de code.

Questions connexes