SqlPipe.Send Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet Ergebnisse direkt an den Client oder den aktuellen Ausgabeconsumer.
Überlädt
Send(SqlDataRecord) |
Sendet ein Resultset mit einer Zeile direkt an den Client oder aktuellen Ausgabeconsumer. |
Send(SqlDataReader) |
Sendet ein Resultset mit mehreren Zeilen direkt an den Client oder aktuellen Ausgabeconsumer. |
Send(String) |
Sendet eine Zeichenfolgenmeldung direkt an den Client oder aktuellen Ausgabeconsumer. |
Hinweise
Die Send -Methode sendet Daten direkt an den Client oder Aufrufer. Normalerweise verwendet der Client die Ausgabe der Pipe-Methode , aber im Fall von geschachtelten gespeicherten CLR-Prozeduren kann der Ausgabeconsumer auch eine gespeicherte Prozedur sein. Beispielsweise ruft Procedure1 mit dem Befehlstext "EXEC Procedure2" auf ExecuteReader . Bei Procedure2 handelt es sich ebenfalls um eine verwaltete gespeicherte Prozedur. Wenn Procedure2 jetzt aufruft Send, wird die Zeile an den Reader von Procedure1 und nicht an den Client gesendet.
Send(SqlDataRecord)
Sendet ein Resultset mit einer Zeile direkt an den Client oder aktuellen Ausgabeconsumer.
public:
void Send(Microsoft::SqlServer::Server::SqlDataRecord ^ record);
public void Send (Microsoft.SqlServer.Server.SqlDataRecord record);
member this.Send : Microsoft.SqlServer.Server.SqlDataRecord -> unit
Public Sub Send (record As SqlDataRecord)
Parameter
- record
- SqlDataRecord
Das an den Client gesendete einzeilige Resultset: ein SqlDataRecord-Objekt.
Ausnahmen
Der Jointyp (record
) lautet null
.
Gilt für:
Send(SqlDataReader)
Sendet ein Resultset mit mehreren Zeilen direkt an den Client oder aktuellen Ausgabeconsumer.
public:
void Send(System::Data::SqlClient::SqlDataReader ^ reader);
public void Send (System.Data.SqlClient.SqlDataReader reader);
member this.Send : System.Data.SqlClient.SqlDataReader -> unit
Public Sub Send (reader As SqlDataReader)
Parameter
- reader
- SqlDataReader
Das mehrzeilige Resultset, das an den Client gesendet werden soll: ein SqlDataReader-Objekt.
Ausnahmen
reader
ist null
.
Hinweise
Wenn das SqlDataReader als Parameter übergebene Objekt über ausgeblendete Spalten verfügt, werden diese Spalten nicht an das an den Client gesendete Resultset weitergegeben.
Gilt für:
Send(String)
Sendet eine Zeichenfolgenmeldung direkt an den Client oder aktuellen Ausgabeconsumer.
public:
void Send(System::String ^ message);
public void Send (string message);
member this.Send : string -> unit
Public Sub Send (message As String)
Parameter
- message
- String
Die an den Client zu sendende Meldungszeichenfolge.
Ausnahmen
Die message
ist länger als 4.000 Zeichen.
message
ist null
.
Beispiele
Im folgenden Beispiel wird die Send -Methode verwendet, um eine Nachrichtenzeichenfolge direkt an den Client zu senden.
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcSendMessage()
{
// Send a message string back to the client.
SqlContext.Pipe.Send("Hello World!");
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcSendMessage()
' Send a message string back to the client.
SqlContext.Pipe.Send("Hello world!")
End Sub
Hinweise
Die Nachrichtenzeichenfolge wird als Informationsnachricht an den Client gesendet. Clientanwendungen können nachrichten je nach verwendeter Api (Application Programming Interface) für den Datenzugriff über verschiedene Mechanismen überwachen. Wenn der Client beispielsweise ADO.NET verwendet, werden die Nachrichten über das InfoMessage -Ereignis übertragen.