SqlContext Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una abstracción del contexto del llamador, que proporciona acceso a los objetos SqlPipe, SqlTriggerContext y WindowsIdentity. Esta clase no puede heredarse.
public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
- Herencia
-
SqlContext
Ejemplos
En el ejemplo siguiente se crea un nuevo SqlDataRecord objeto y su SqlMetaData. A continuación, el ejemplo marca el principio de un conjunto de resultados mediante el SendResultsStart método , envía registros con datos de ejemplo al cliente mediante el SendResultsRow método y marca el final del conjunto de resultados con el 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
Comentarios
El SqlContext objeto se puede usar para obtener el contexto del desencadenador (para el código que se ejecuta en un desencadenador) y el objeto de canalización (cuando está disponible, como en procedimientos almacenados). También se puede usar para obtener un WindowsIdentity objeto que represente la identidad de Microsoft Windows del cliente que realiza la llamada, si el cliente se autentica con el servidor mediante la autenticación integrada.
Propiedades
IsAvailable |
Especifica si el código de llamada se ejecuta en SQL Server y si se puede tener acceso a la conexión de contexto. |
Pipe |
Obtiene el objeto de canalización que permite al llamador devolver al cliente los conjuntos de resultados, mensajes y los resultados de la ejecución de comandos. |
TriggerContext |
Obtiene el contexto del activador para proporcionarle al llamador información sobre la causa del desencadenamiento del activador y un mapa de las columnas actualizadas. |
WindowsIdentity |
Identidad en Microsoft Windows del llamador. |