Messages vom SQL Server

07/08/2008 - 15:13 von Michael Reukauff | Report spam
Hallo NG

Ich benutze innerhalb von Stored Procs print-Anweisungen zu
Debuggingzwecken. Wie kann ich die innerhalb eines .NET (C#)-Programmes
auslesen, wenn ich die SP ausgeführt habe?

Danke schonmal

Michael
 

Lesen sie die antworten

#1 Elmar Boye
07/08/2008 - 15:51 | Warnen spam
Hallo Michael,

Michael Reukauff schrieb:
Ich benutze innerhalb von Stored Procs print-Anweisungen zu
Debuggingzwecken. Wie kann ich die innerhalb eines .NET (C#)-Programmes
auslesen, wenn ich die SP ausgeführt habe?



Abonniere das InfoMessage Ereignis für die Verbindung.
(Etwas sinnfreier) Beispielcode unten dran.

Gruß Elmar

public void SqlInfoMessages()
{
using (SqlConnection connection = new SqlConnection(
Properties.Settings.Default.AdventureWorksConnectionString))
{
connection.InfoMessage += new SqlInfoMessageEventHandler(Connection_InfoMessage);
//connection.FireInfoMessageEventOnUserErrors = true;
connection.Open();

SqlCommand command = new SqlCommand("", connection);
command.CommandText = "Sales.GetRowCounts";
command.CommandType = CommandType.StoredProcedure;

/* Inhalt der Prozedur...
"PRINT 'SalesOrderHeader';"
+ "SELECT COUNT(*) FROM Sales.SalesOrderHeader;"
+ "PRINT 'SalesOrderDetail';"
+ "SELECT COUNT(*) FROM Sales.SalesOrderDetail;";
*/
using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.SequentialAccess))
{
do
{
while(reader.Read())
;
}
while (reader.NextResult());
reader.Close();
}
connection.Close();
}
}

private void Connection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
Console.WriteLine("InfoMessage: {0}", e.Message);
}
}

Ähnliche fragen