Exportar (0) Imprimir
Expandir todo

SqlConnection (Clase)

Representa una conexión abierta con una base de datos de SQL Server. Esta clase no se puede heredar.

Espacio de nombres: System.Data.SqlClient
Ensamblado: System.Data (en system.data.dll)

public sealed class SqlConnection : DbConnection, ICloneable
public final class SqlConnection extends DbConnection implements ICloneable
public final class SqlConnection extends DbConnection implements ICloneable

Un objeto SqlConnection representa una única sesión con un origen de datos de SQL Server. Con un sistema de bases de datos de cliente y servidor, equivale a una conexión de red al servidor. SqlConnection se utiliza junto con SqlDataAdapter y SqlCommand para aumentar el rendimiento de la conexión a una base de datos de Microsoft SQL Server. Con productos SQL Server de otros proveedores y otros orígenes de datos compatibles con OLE DB, se debe utilizar OleDbConnection.

Cuando se crea una instancia de SqlConnection, se establecen todas las propiedades en sus valores iniciales. Para obtener una lista de esos valores, vea el constructor SqlConnection.

Si la conexión SqlConnection está fuera de ámbito, permanecerá abierta. Por tanto, debe cerrar la conexión explícitamente mediante una llamada al método Close o Dispose. Close y Dispose tienen una funcionalidad equivalente. Si el valor de agrupación de conexiones Pooling se establece en true o yes, la conexión subyacente se devuelve al grupo de conexiones. Por otro lado, si Pooling se establece en false o no, la conexión subyacente al servidor se cerrará.

Para garantizar que las conexiones se cierren siempre, abra la conexión dentro de un bloque using, como se muestra en el fragmento de código siguiente. Haciendo esto se garantiza que la conexión se cierra automáticamente cuando el código sale del bloque.

Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here; connection closed on following line.
End Using
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        // Do work here; connection closed on following line.
    }
NotaNota

Para implementar aplicaciones de alto rendimiento, es necesario utilizar la agrupación de conexiones. Cuando se utiliza el proveedor de datos de .NET Framework para SQL Server, no es necesario habilitar una agrupación de conexiones, ya que el proveedor la administra automáticamente, aunque se pueden modificar algunos valores. Para obtener más información, vea Uso de agrupación de conexiones.

Si el método que ejecuta un objeto SqlCommand genera una excepción SqlException, SqlConnection permanece abierta cuando el nivel de gravedad es igual o menor que 19. Si el nivel de gravedad es igual o mayor que 20, normalmente, el servidor cierra la conexión SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.

Una aplicación que crea una instancia del objeto SqlConnection puede requerir que todos los llamadores directos e indirectos tengan permisos suficientes en el código estableciendo solicitudes de seguridad declarativas o imperativas. SqlConnection realiza solicitudes de seguridad utilizando el objeto SqlClientPermission. Los usuarios pueden comprobar que el código tiene los permisos adecuados mediante el objeto SqlClientPermissionAttribute. Los usuarios y administradores también pueden utilizar la herramienta Herramienta de la directiva de seguridad de acceso a código (Caspol.exe) para modificar la directiva de seguridad en los niveles de equipo, usuario y empresa. Para obtener más información, vea Seguridad en .NET Framework. Para obtener un ejemplo que muestra cómo utilizar las peticiones de seguridad, vea Seguridad de acceso a código y ADO.NET.

NotaNota

Si utiliza Microsoft .NET Framework versión 1.0, es necesario establecer el permiso con nombre FullTrust para conectarse a SQL Server mediante el método Open. Este requisito no es necesario si utiliza la versión 1.1 de .NET Framework o una posterior. Para obtener más información, vea Solicitar permisos y Conjuntos de permisos con nombre.

Para obtener más información sobre el tratamiento de mensajes informativos y de advertencia del servidor, vea Trabajar con eventos de conexión.

TemaUbicación
Cómo: Crear conexiones a bases de datos de SQL ServerAcceso a datos en Visual Studio
Cómo: Crear conexiones a bases de datos de SQL ServerAcceso a datos en Visual Studio

En el siguiente ejemplo se crean un objeto SqlCommand y un objeto SqlConnection. Se abre la conexión SqlConnection y se establece como la propiedad Connection de SqlCommand. A continuación, en el ejemplo se llama a ExecuteNonQuery y se cierra la conexión. Para ello, se pasa a ExecuteNonQuery una cadena de conexión y una cadena de consulta que es una instrucción Transact-SQL INSERT.

private static void OpenSqlConnection()
{
    string connectionString = GetConnectionString();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}

static private string GetConnectionString()
{
    // To avoid storing the connection string in your code, 
    // you can retrieve it from a configuration file, using the 
    // System.Configuration.ConfigurationSettings.AppSettings property 
    return "Data Source=(local);Initial Catalog=AdventureWorks;"
        + "Integrated Security=SSPI;";
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbConnection
        System.Data.SqlClient.SqlConnection

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft