Establecimiento de conexión
Se aplica a: .NET Framework .NET .NET Standard
Para conectarse a Microsoft SQL Server, use el objeto SqlConnection del proveedor de datos SqlClient de Microsoft para SQL Server. 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. Vea Instrucción using e Instrucción using para obtener más información.
También puede utilizar los métodos Close
o Dispose
del objeto de conexión. 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.
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).
Conectarse a SQL Server
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.
using Microsoft.Data.SqlClient;
class Program1
{
static void Main()
{
string s = GetConnectionString();
OpenSqlConnection(s);
Console.ReadLine();
}
private static void OpenSqlConnection(string connectionString)
{
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;";
}
}
Seguridad integrada y ASP.NET
La seguridad integrada de SQL Server (también conocida como conexiones de confianza) ayuda a proporcionar protección al conectarse a SQL Server, ya que no expone un identificador de usuario ni una contraseña 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 el caso de las aplicaciones de escritorio, esta identidad suele ser la identidad del usuario que tiene la sesión actualmente iniciada.
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.NETy Procedimiento de acceso a SQL Server mediante la seguridad integrada de Windows.