A conectividade do banco de dados evoluiu para um aspecto padrão do desenvolvimento de aplicativos. As strings de conexão do banco de dados agora são um padrão obrigatório para todos os projetos. Muitas vezes me pego copiando uma string de conexão de outro aplicativo ou realizando uma pesquisa para encontrar a sintaxe necessária. Isso é especialmente verdadeiro ao interoperar com o SQL Server, que possui muitas opções de cadeia de conexão. Agora vamos examinar os vários aspectos das cadeias de conexão.
cadeia de conexão
Durante a instanciação ou criação do objeto, a cadeia de conexão do banco de dados é passada para o objeto necessário por meio de propriedades ou métodos. O formato da cadeia de conexão é uma lista delimitada por ponto e vírgula de pares de parâmetros chave/valor. A Listagem A inclui um exemplo em C# que ilustra como se conectar ao SQL Server criando um objeto SqlConnection (a cadeia de conexão real é atribuída por meio da propriedade ConnectionString do objeto). Incluída na Listagem B está a versão do VB.NET.
Lista A
string cString = "Fonte de dados=servidor;Catálogo inicial=db;ID do usuário=teste;Senha=teste;";
SqlConnectionconn = new SqlConnection();
conexão.ConnectionString = cString;
conexão.Open();
Lista B
Dim cString como string
cString = "Fonte de dados=servidor;Catálogo inicial=db;ID do usuário=teste;Senha=teste;"
Dim conexão As SqlConnection = New SqlConnection()
conexão.ConnectionString = cString
conexão.Open()
A string de conexão especifica o servidor e o banco de dados, bem como o nome de usuário e a senha necessários para acessar o banco de dados. Embora esse formato não seja adequado para todas as interações de banco de dados, ele possui muitas opções disponíveis, muitas das quais possuem sinônimos.
Junto com os elementos Fonte de dados, Catálogo inicial, ID do usuário e Senha, as seguintes opções estão disponíveis:
Nome do aplicativo: O nome do aplicativo. Se não for especificado, seu valor será o Provedor de Dados .NET SqlClient.
AttachDBFilename/propriedades estendidas/Nome do arquivo inicial: O nome do arquivo principal que pode ser conectado ao banco de dados, incluindo o nome do caminho completo. O nome do banco de dados deve ser especificado com a palavra-chave banco de dados.
Tempo limite de conexão/Tempo limite de conexão: o tempo (em segundos) que uma conexão com o servidor aguarda antes de terminar. O valor padrão é 15.
Tempo de vida da conexão: quando uma conexão é retornada ao pool de conexões, seu tempo de criação é comparado com o horário atual. Se este intervalo de tempo exceder o período de validade da conexão, a conexão será cancelada. Seu valor padrão é 0.
Redefinição de conexão: indica se uma conexão será redefinida quando for removida do pool de conexões. Um falso válido elimina a necessidade de uma viagem de ida e volta adicional ao servidor ao obter uma conexão, e seu valor padrão é verdadeiro.
Idioma Atual: O nome do registro de idioma do SQL Server.
Fonte de dados/servidor/endereço/endereço/endereço de rede: o nome ou endereço de rede da instância do SQL Server.
Criptografar (criptografia): Quando o valor for verdadeiro, o SQL Server usará criptografia SSL para todos os dados transferidos entre o cliente e o servidor se o servidor tiver um certificado autorizado instalado. Os valores aceitos são verdadeiro, falso, sim e não.
Enlist (registro): Indica se o programa do pool de conexões registrará automaticamente a conexão no contexto de transação atual do thread de criação. Seu valor padrão é verdadeiro.
Banco de dados/catálogo inicial: o nome do banco de dados.
Segurança Integrada/Conexão Confiável: Indica se a autenticação do Windows é usada para conectar-se ao banco de dados. Pode ser definido como verdadeiro, falso ou o equivalente sspi de verdadeiro. Seu valor padrão é falso.
Tamanho máximo do pool (capacidade máxima do pool de conexões): O número máximo de conexões permitidas pelo pool de conexões. Seu valor padrão é 100.
Tamanho mínimo do pool (capacidade mínima do pool de conexões): O número mínimo de conexões permitidas pelo pool de conexões e seu valor padrão é 0.
Biblioteca/Rede de Rede: Biblioteca de rede usada para estabelecer uma conexão com uma instância do SQL Server. Os valores suportados incluem: dbnmpntw (pipes nomeados), dbmsrpcn (multiprotocolo/RPC), dbmsvinn (Banyan Vines), dbmsspxn (IPX/SPX) e dbmssocn (TCP/IP). A biblioteca de vínculo dinâmico do protocolo deve ser instalada para a conexão apropriada; seu padrão é TCP/IP.
Tamanho do pacote: O tamanho dos pacotes de rede usados para comunicação com o banco de dados. Seu valor padrão é 8192.
Senha/Pwd: A senha correspondente ao nome da conta.
Persistir informações de segurança: usado para determinar se as informações de segurança estarão disponíveis quando a conexão for estabelecida. Se o valor for verdadeiro, dados sensíveis à segurança, como nomes de usuário e senhas, estarão disponíveis, enquanto se o valor for falso, eles não estarão disponíveis. A redefinição da cadeia de conexão reconfigurará todos os valores da cadeia de conexão, incluindo a senha. Seu valor padrão é falso.
Pooling: determina se o pool de conexões deve ser usado. Se for verdade, a conexão será obtida do conjunto de conexões apropriado ou, se necessário, a conexão será criada e adicionada ao conjunto de conexões apropriado. Seu valor padrão é verdadeiro.
ID do usuário: o nome da conta usada para efetuar login no banco de dados.
ID da estação de trabalho: o nome da estação de trabalho conectada ao SQL Server. Seu valor padrão é o nome do computador local.
A cadeia de conexão a seguir estabelece uma conexão com o banco de dados Northwind no servidor TestDev1 usando uma conexão confiável e credenciais de login especificadas (menos seguras do que deixar a senha do administrador em branco): Server=TestDev1;Database=Northwind;User ID=sa ;
Senha=;Trusted_Connection=True;
A próxima string de conexão usa TCIP/IP e um endereço IP específico:
Fonte de dados=192.162.1.100,1433;Biblioteca de rede=DBMSSOCN;
Catálogo inicial=Northwind;ID do usuário=sa;Senha=;
As opções usadas podem ser facilmente incluídas na cadeia de conexão, mas novamente dependem do seu aplicativo e de seus requisitos. É bom saber o que está disponível para que você possa usá-lo de maneira adequada.
Usando ADO.NET 2.0
O ADO.NET 2.0 apresenta novos geradores de cadeia de conexão para cada provedor de dados do .NET Framework. As palavras-chave são listadas como atributos, permitindo que a sintaxe da cadeia de conexão entre em vigor antes de ser enviada à fonte de dados. Existem também novas classes que facilitam o armazenamento e a recuperação de cadeias de conexão em arquivos de configuração e a criptografia delas de maneira protegida.