Share via


Conexión de contexto

Se aplica a:SQL Server

El problema de acceso interno a los datos es un escenario bastante común. Es decir, desea tener acceso al mismo servidor en que se ejecuta el procedimiento almacenado o función de Common Language Runtime (CLR). Una opción es crear una conexión mediante System.Data.SqlClient.SqlConnection, especificar una cadena de conexión que apunte al servidor local y abrir la conexión. Esto requiere especificar las credenciales para iniciar sesión. La conexión está en una sesión de base de datos diferente que el procedimiento almacenado o la función, puede tener diferentes opciones SET , se encuentra en una transacción independiente, no ve las tablas temporales, etc. Si el código del procedimiento almacenado administrado o de la función está en ejecución en el proceso de SQL Server, es porque alguien se ha conectado a ese servidor y ha ejecutado una instrucción SQL para invocarlo. Probablemente quiera que el procedimiento almacenado o la función se ejecuten en el contexto de esa conexión, junto con su transacción, las opciones SET , etc. Esto se denomina la conexión de contexto.

La conexión de contexto le permite ejecutar las instrucciones Transact-SQL en el mismo contexto que se invocó el código en primer lugar. Para obtener la conexión de contexto, debe utilizar la palabra clave de cadena de conexión "context connection", como en el ejemplo siguiente:

[C#]

using(SqlConnection connection = new SqlConnection("context connection=true"))   
{  
    connection.Open();  
    // Use the connection  
}  

[Visual Basic]

Using connection as new SqlConnection("context connection=true")  
    connection.Open()  
    ' Use the connection  
End Using  
  

En esta sección

Conexiones normales y conexiones de contexto
Describe las diferencias que existen entre las conexiones normales y las conexiones de contexto.

Conexiones de contexto y conexiones normales: restricciones
Describe las restricciones en las conexiones normales y de contexto.