Compartilhar via


Estabelecer conexão

Aplicável a: .NET Framework .NET .NET Standard

Baixar ADO.NET

Para se conectar ao Microsoft SQL Server, use o objeto SqlConnection do Provedor de Dados Microsoft SqlClient para SQL Server. Para armazenar e recuperar cadeias de conexão com segurança, confira Proteger informações de conexão.

Fechar conexões

É recomendável sempre fechar a conexão quando você terminar de usá-la para que a conexão possa ser retornada ao pool. O bloco Using no Visual Basic ou C# automaticamente descarta a conexão quando o código sai do bloco, mesmo no caso de uma exceção sem tratamento. Confira Instrução using e Instrução Using para obter mais informações.

Você também pode usar os métodos Close ou Dispose do objeto de conexão. As conexões que não são fechadas explicitamente não podem ser adicionadas nem retornadas ao pool. Por exemplo, uma conexão que sai de escopo, mas que não foi fechada explicitamente será retornada somente para o pool de conexões se o tamanho do máximo tiver sido atingido e a conexão ainda estiver válida.

Observação

Não chame Close ou Dispose em um objeto Connection, um DataReader nem em nenhum outro objeto gerenciado no método Finalize de sua classe. Em um finalizador, libere somente recursos não gerenciados que sua classe possui diretamente. Se a classe não tiver nenhum recurso não gerenciado, não inclua um método Finalize em sua definição de classe. Para obter mais informações, confira Coleta de lixo.

Observação

Eventos de logon e logout não serão gerados no servidor quando uma conexão for procurada de ou retornada para o pool de conexões, porque a conexão não é fechada realmente quando é retornada para o pool de conexões. Para obter mais informações, consulte Pool de Conexões do SQL Server (ADO.NET).

Conectar-se ao SQL Server

Para obter nomes e valores válidos de formato de cadeia de caracteres, consulte a propriedade ConnectionString do objeto SqlConnection. Você também pode usar a classe SqlConnectionStringBuilder para criar cadeias de conexão sintaticamente válidas em tempo de execução. Para obter mais informações, confira Construtores de cadeias de conexão.

O exemplo de código a seguir demonstra como criar e abrir uma conexão para um banco de dados do 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;";
    }
}

Segurança integrada e ASP.NET

A Segurança integrada do SQL Server (também conhecida como conexões confiáveis) ajuda a fornecer proteção ao se conectar ao SQL Server, pois não expõe uma ID de usuário e senha na cadeia de conexão e é o método recomendado para autenticar uma conexão. A segurança integrada usa a identidade de segurança atual, ou símbolo, do processo em execução. Para aplicativos da área de trabalho, essa identidade normalmente é a identidade do usuário conectado no momento.

A identidade de segurança para aplicativos ASP.NET pode ser definida para uma das várias opções diferentes. Para compreender melhor a identidade de segurança que um aplicativo ASP.NET usa ao se conectar com o SQL Server, confira Representação do ASP.NET, Autenticação do ASP.NET e Como acessar o SQL Server usando a Segurança integrada do Windows.

Confira também