Estabelecendo a conexão

Para se conectar ao Microsoft SQL Server, use o objeto SqlConnection do provedor de dados .NET Framework para SQL Server. Para se conectar a uma fonte de dados OLE DB, use o objeto OleDbConnection do provedor de dados .NET Framework para OLE DB. Para se conectar a uma fonte de dados ODBC, use o objeto OdbcConnection do provedor de dados .NET Framework para ODBC. Para se conectar a uma fonte de dados Oracle, use o objeto OracleConnection do provedor de dados .NET Framework para Oracle. Para armazenar e recuperar cadeias de conexão com segurança, confira Proteger informações de conexão.

Fechando 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 a Instrução using e a Instrução Using para obter mais informações.

Você também pode usar os métodos Close ou Dispose do objeto de conexão para o provedor que você está usando. 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. Para obter mais informações, consulte OLE DB, ODBC e Oracle Connection Pooling.

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

O provedor de dados .NET Framework para SQL Server dá suporte a um formato de cadeia de conexão semelhante ao formato de cadeia de conexão OLE DB (ADO). 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.

' 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.  
}  

Segurança integrada e o ASP.NET

A segurança integrada do SQL Server (também conhecida como conexões confiáveis) ajuda a fornecer a proteção ao se conectar com o SQL Server porque ele não expõe uma identificação de usuário e uma 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 desktop, isso é geralmente 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.

Conectando-se a uma fonte de dados do OLE DB

O Provedor de Dados .NET Framework para OLE DB fornece a conectividade a fontes de dados expostas usando OLE DB (com o SQLOLEDB, o provedor OLE DB para SQL Server), usando o objeto de OleDbConnection.

Para o Provedor de Dados .NET Framework para OLE DB, o formato da cadeia de conexão é idêntico ao formato de cadeia de conexão usada no ADO, com as seguintes exceções:

  • A palavra-chave Provedor sempre é necessária.

  • As palavras-chave URL, Provedor Remoto e Servidor Remoto não têm suporte.

Para obter mais informações sobre cadeias de conexão do OLE DB, consulte o tópico ConnectionString. Você também pode usar OleDbConnectionStringBuilder para criar cadeias de conexão em tempo de execução.

Observação

O objeto OleDbConnection não dá suporte à configuração ou recuperação de propriedades dinâmicas específicas para um provedor OLE DB. Somente as propriedades que podem ser passadas na cadeia de conexão para o provedor OLE DB têm suporte.

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

É possível fornecer informações de conexão para um OleDbConnection em um arquivo UDL (Universal Data Link); no entanto, você deve evitar fazer isso. Os arquivos UDL não são criptografados e expõem as informações da cadeia de conexão em texto não criptografado. Como um arquivo UDL é um recurso externo com base em arquivo para o seu aplicativo, ele não poderá ser protegido usando o .NET Framework.

Conectando-se a uma fonte de dados do ODBC

O provedor de dados .NET Framework para ODBC fornece conectividade para fontes de dados expostas usando ODBC usando o objeto OdbcConnection.

Para o provedor de dados .NET Framework para ODBC, o formato de cadeia de conexão é criado para corresponder o máximo possível ao formato de cadeia de conexão ODBC. Você também pode fornecer um nome (DSN) da fonte de dados ODBC. Para obter mais detalhes sobre o OdbcConnection, consulte a OdbcConnection.

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

Conectando-se a uma fonte de dados do Oracle

O provedor de dados .NET Framework para Oracle fornece a conectividade a fontes de dados Oracle usando o objeto OracleConnection.

Para o provedor de dados .NET Framework para Oracle, o formato de cadeia de conexão é criado para corresponder o máximo possível ao formato de cadeia de conexão do provedor OLE DB para Oracle (MSDAORA). Para obter mais detalhes sobre o OracleConnection, consulte a OracleConnection.

O exemplo de código a seguir demonstra como criar e abrir uma conexão para uma fonte de dados 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.  
}  
OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");  
nwindConn.Open();  

Confira também