SqlContext Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma abstração do contexto do chamador, que fornece acesso aos objetos SqlPipe, SqlTriggerContext e WindowsIdentity. Essa classe não pode ser herdada.
public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
- Herança
-
SqlContext
Exemplos
O exemplo a seguir cria um novo SqlDataRecord e seu SqlMetaData. O exemplo marca o início de um conjunto de resultados usando o SendResultsStart método , envia registros com dados de exemplo de volta para o cliente usando o SendResultsRow método e marca o final do conjunto de resultados com o SendResultsEnd método .
[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
Comentários
O SqlContext objeto pode ser usado para obter o contexto de gatilho (para execução de código em um gatilho) e o objeto pipe (quando disponível, como em procedimentos armazenados). Ele também pode ser usado para obter um WindowsIdentity objeto que representa a identidade do Microsoft Windows do cliente de chamada, se o cliente for autenticado com o servidor usando a autenticação integrada.
Propriedades
IsAvailable |
Especifica se o código de chamada está em execução no SQL Server e se é possível acessar a conexão de contexto. |
Pipe |
Obtém o objeto de conexão que permite que o chamador envie conjuntos de resultados, as mensagens e os resultados da execução de comandos de volta para o cliente. |
TriggerContext |
Obtém o contexto de gatilho usado para fornecer ao chamador informações sobre o que fez o gatilho disparar e um mapa das colunas que foram atualizadas. |
WindowsIdentity |
A identidade Microsoft Windows do chamador. |