Compartir a través de


Establecer una conexión

Para conectarse a Microsoft SQL Server, use el objeto SqlConnection del proveedor de datos .NET Framework para SQL Server. Para conectarse a un origen de datos OLE DB, use el objeto OleDbConnection del proveedor de datos .NET Framework para OLE DB. Para conectarse a un origen de datos ODBC, utilice el objeto OdbcConnection del proveedor de datos .NET Framework para ODBC. Para conectarse a un origen de datos Oracle, utilice el objeto OracleConnection del proveedor de datos .NET Framework para ODBC. Para almacenar y recuperar de forma segura las cadenas de conexión, vea Proteger la información de conexión.

Cierre de conexiones

Recomendamos cerrar siempre la conexión cuando termine de utilizarla, para que la conexión pueda regresar al grupo. El bloque Using de Visual Basic o C# elimina automáticamente la conexión cuando el código sale del bloque, incluso en el caso de una excepción no controlada. Consulte using instrucción e Using Instrucción para obtener más información.

También puede utilizar los métodos Close o Dispose del objeto de conexión correspondiente al proveedor que esté utilizando. Es posible que las conexiones que no se cierran explícitamente no se puedan agregar ni puedan regresar al grupo. Por ejemplo, una conexión que se ha salido del ámbito pero que no se ha cerrado explícitamente solo se devolverá al grupo de conexión si se ha alcanzado el tamaño máximo del grupo y la conexión aún es válida. Para obtener más información, consulte Agrupación de conexiones de OLE DB, ODBC y Oracle.

Nota:

No llame a Close o a Dispose en un objeto Connection, un objeto DataReader o cualquier otro objeto administrado en el método Finalize de la clase. En un finalizador, libere solo los recursos no administrados que pertenezcan directamente a su clase. Si la clase no dispone de recursos no administrados, no incluya un método Finalize en la definición de clase. Para obtener más información, consulte Recolección de elementos no utilizados.

Nota:

Los eventos de inicio y cierre de sesión no se provocarán en el servidor cuando se busque una conexión desde el grupo de conexiones o se devuelva a éste, puesto que la conexión no está cerrada realmente cuando se devuelve al grupo de conexiones. Para obtener más información, vea Agrupación de conexiones de SQL Server (ADO.NET).

Conectar a SQL Server

El proveedor de datos .NET Framework para SQL Server admite un formato de cadena de conexión que es similar al de OLE DB (ADO). Para consultar los nombres y valores válidos de formato de cadena, vea la propiedad ConnectionString del objeto SqlConnection. También puede usar la clase SqlConnectionStringBuilder para crear cadenas de conexión sintácticamente válidas en tiempo de ejecución. Para obtener más información, vea Generadores de cadenas de conexión.

El siguiente código de ejemplo demuestra cómo crear y abrir una conexión a una base de datos SQL Server.

' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Seguridad integrada y ASP.NET

La seguridad integrada de SQL Server (también conocida como conexiones de confianza) ayuda a proteger las conexiones a SQL Server dado que no expone el identificador y la contraseña de un usuario en la cadena de conexión y es el método recomendado para autenticar una conexión. La seguridad integrada utiliza la identidad de seguridad actual, o símbolo (token), del proceso en ejecución, que en aplicaciones de escritorio, es normalmente la identidad del usuario que actualmente ha iniciado la sesión.

La identidad de seguridad para aplicaciones ASP.NET se puede establecer en una de varias opciones diferentes. Para comprender mejor la identidad de seguridad que usa una aplicación de ASP.NET al conectarse a SQL Server, consulte Suplantación de ASP.NET, Autenticación de ASP.NET y Procedimiento de acceso a SQL Server mediante la seguridad integrada de Windows.

Conectarse a un origen de datos de OLE DB

El proveedor de datos .NET Framework para OLE DB proporciona conectividad a orígenes de datos expuestos mediante OLE DB (a través de SQLOLEDB, el proveedor OLE DB para SQL Server) usando el objeto OleDbConnection.

En el proveedor de datos .NET Framework para OLE DB, el formato de cadena de conexión es idéntico al utilizado en ADO, con las siguientes excepciones:

  • Se necesita la palabra clave Proveedor.

  • No se admiten las palabras clave URL, Proveedor remoto y Servidor remoto.

Para obtener más información sobre los cadena de conexión OLE DB, consulte el ConnectionString artículo. También puede usar OleDbConnectionStringBuilder para crear cadenas de conexión en tiempo de ejecución.

Nota

El objeto OleDbConnection no admite la configuración ni la recuperación de propiedades dinámicas específicas de un proveedor OLE DB. Solo se admiten las propiedades que se pueden proporcionar en la cadena de conexión para el proveedor OLE DB.

El siguiente código de ejemplo demuestra cómo crear y abrir una conexión a un origen de datos OLE DB.

' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection =
  new OleDbConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Se puede proporcionar información de conexión para un objeto OleDbConnection en un archivo UDL (Universal Data Link), pero conviene evitarlo. Los archivos UDL no están cifrados y exponen la información de cadena de conexión en texto sin cifrar. Un archivo UDL no se puede proteger mediante .NET Framework, ya que se trata de un recurso basado en un archivo externo a la aplicación.

Conectarse a un origen de datos de ODBC

El proveedor de datos .NET Framework para ODBC proporciona conectividad a orígenes de datos expuestos mediante ODBC utilizando el objeto OdbcConnection.

En el proveedor de datos .NET Framework para ODBC, el formato de cadena de conexión está diseñado para que coincida lo más posible con el de ODBC. También puede proporcionar un nombre de origen de datos (DSN) ODBC. Para obtener información más detallada acerca de OdbcConnection, vea la OdbcConnection.

El siguiente código de ejemplo demuestra cómo crear y abrir una conexión a un origen de datos ODBC.

' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection =
  new OdbcConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Conexión a un origen de datos de Oracle

El proveedor de datos .NET Framework para Oracle proporciona conectividad a orígenes de datos Oracle utilizando el objeto OracleConnection.

En el proveedor de datos .NET Framework para Oracle, el formato de cadena de conexión está diseñado para que coincida lo más posible con el del proveedor OLE DB para Oracle (MSDAORA). Para obtener información más detallada acerca de OracleConnection, vea la OracleConnection.

El siguiente código de ejemplo demuestra cómo crear y abrir una conexión a un origen de datos Oracle.

' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection =
  new OracleConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Vea también