SqlContext Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje abstrakci kontextu volajícího, který poskytuje přístup k objektům SqlPipe, SqlTriggerContexta WindowsIdentity . Tato třída se nemůže dědit.
public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
- Dědičnost
-
SqlContext
Příklady
Následující příklad vytvoří nový SqlDataRecord a jeho SqlMetaData. Příklad pak označí začátek sady výsledků pomocí SendResultsStart metody, odešle záznamy s ukázkovými daty zpět klientovi pomocí SendResultsRow metody a označí konec sady výsledků metodou SendResultsEnd .
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcReturnResultSet()
{
// Create the record and specify the metadata for the columns.
SqlDataRecord record = new SqlDataRecord(
new SqlMetaData("col1", SqlDbType.NVarChar, 100),
new SqlMetaData("col2", SqlDbType.Int));
// Mark the begining of the result-set.
SqlContext.Pipe.SendResultsStart(record);
// Send 10 rows back to the client.
for (int i = 0; i < 10; i++)
{
// Set values for each column in the row.
record.SetString(0, "row " + i.ToString());
record.SetInt32(1, i);
// Send the row back to the client.
SqlContext.Pipe.SendResultsRow(record);
}
// Mark the end of the result-set.
SqlContext.Pipe.SendResultsEnd();
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcReturnResultSet()
' Create the record and specify the metadata for the columns.
Dim record As New SqlDataRecord( _
New SqlMetaData("col1", SqlDbType.NVarChar, 100), _
New SqlMetaData("col2", SqlDbType.Int))
' Mark the begining of the result-set.
SqlContext.Pipe.SendResultsStart(record)
' Send 10 rows back to the client.
Dim i As Integer
For i = 0 To 9
' Set values for each column in the row.
record.SetString(0, "row " & i.ToString())
record.SetInt32(1, i)
' Send the row back to the client.
SqlContext.Pipe.SendResultsRow(record)
Next
' Mark the end of the result-set.
SqlContext.Pipe.SendResultsEnd()
End Sub
Poznámky
Objekt SqlContext lze použít k získání kontextu triggeru (pro spouštění kódu v triggeru) a objektu kanálu (pokud je k dispozici, například v uložených procedurách). Dá se také použít k získání objektu WindowsIdentity , který představuje identitu systému Microsoft Windows volajícího klienta, pokud se klient ověřil na serveru pomocí integrovaného ověřování.
Vlastnosti
IsAvailable |
Určuje, jestli je volající kód spuštěný v rámci SQL Server a jestli je možné získat přístup k kontextové připojení. |
Pipe |
Získá objekt potrubí, který umožňuje volajícímu odesílat sady výsledků, zprávy a výsledky provádění příkazů zpět do klienta. |
TriggerContext |
Získá kontext triggeru, který se používá k poskytnutí informací o tom, co způsobilo aktivaci triggeru, a mapu sloupců, které byly aktualizovány. |
WindowsIdentity |
Identita systému Microsoft Windows volajícího. |