Aracılığıyla paylaş


SqlContext Sınıf

Tanım

Çağıranın SqlTriggerContextbağlamının , ve WindowsIdentity nesnelerine erişim sağlayan soyutlamasını SqlPipetemsil eder. Bu sınıf devralınamaz.

public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
Devralma
SqlContext

Örnekler

Aşağıdaki örnek yeni SqlDataRecord bir ve oluşturur SqlMetaData. Örnek daha sonra yöntemini kullanarak bir sonuç kümesinin başlangıcını SendResultsStart işaretler, örnek verileri içeren kayıtları yöntemini kullanarak SendResultsRow istemciye geri gönderir ve sonuç kümesinin sonunu yöntemiyle SendResultsEnd işaretler.

[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

Açıklamalar

SqlContext nesnesi tetikleyici bağlamını (bir tetikleyicide yürütülen kod için) ve kanal nesnesini (saklı yordamlarda olduğu gibi kullanılabilir olduğunda) almak için kullanılabilir. Ayrıca, istemcinin tümleşik kimlik doğrulaması kullanarak sunucuyla kimliği doğrulandıysa, çağıran istemcinin Microsoft Windows kimliğini temsil eden bir WindowsIdentity nesne elde etmek için de kullanılabilir.

Özellikler

IsAvailable

Çağıran kodun SQL Server içinde çalışıp çalışmadığını ve bağlam bağlantısına erişilip erişilemeyeceğini belirtir.

Pipe

Çağıranın sonuç kümelerini, iletileri ve komut yürütme sonuçlarını istemciye geri göndermesini sağlayan kanal nesnesini alır.

TriggerContext

Çağırana tetikleyicinin tetiklenmesine neyin neden olduğu hakkında bilgi sağlamak için kullanılan tetikleyici bağlamını ve güncelleştirilen sütunların bir haritasını alır.

WindowsIdentity

Çağıranın Microsoft Windows kimliği.

Şunlara uygulanır