Iniciei o assunto nesse post. Aqui falei sobre a classe Connection.  Agora é a vez de falar sobre strings de conexão.

Precisamos fornecer alguns dados (na forma de uma string de conexão) ao objeto de conexão (instância da classe xxxConnection) para que nosso programa faça acesso a uma base de dados.

Nesse site vemos diversas strings de conexão.

Os principais argumentos de uma (string de conexão) connection string são:

  • Data Source ou Server - nome ou endereço IP da máquina onde o SGBD está sendo executado. Se for uma instância nomeada, devemos fornecer seu nome também;
  • Initial Catalog ou Database - nome do database;
  • User ID ou Uid - usuário usado para conexão;
  • Password ou Pwd - senha do usuário;
  • Integrated Security ou Trusted_Connection - false se estiver informando usuário e senha ou true se a autenticação for integrada com o sistema operacional. Podemos usar SSPI em vez de true;
  • User Instance - false se o database for vinculado a uma instância do SQL Server ou true se for um arquivo de dados (instância de usuário);
  • AttachDbFilename - endereço do arquivo de dados do SQL Server que será usado.

Exemplos de strings de conexão:

  • SQL Server - Data Source=NOTEBOOK;Initial Catalog=MASTER;User Id=usuarioSQL;Password=senhaSQL;
  • SQL Server - Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\BANCO.mdf;User Instance=true;
  • SQL Server (OLEDB) - Provider=SQLNCLI;Data Source=NOTEBOOK;Initial Catalog=MASTER;User Id=usuarioSQL;Password=senhaSQL;
  • Access (OLEDB) - Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\BANCO.mdb;User Id=admin;Password=;

Para criar as connection strings de forma mais simples, podemos usar um objeto da classe SqlConnectionStringBuilder.

Devemos importar o namespace adequado para usar a classe SqlConnectionStringBuilder (os exemplos desse post serão todos baseados no Microsoft SQL Server 2005 Express Edition - a versão grátis):

Visual Basic

Imports System.Data.SqlClient

C#

using System.Data.SqlClient;

A sintaxe da classe SqlConnectionStringBuilder é:

Visual Basic

Public NotInheritable Class SqlConnectionStringBuilder _
Inherits DbConnectionStringBuilder

C#

public sealed class SqlConnectionStringBuilder : DbConnectionStringBuilder

Os principais membros da classe SqlConnectionStringBuilder são:

  • Propriedades:
    • DataSource - nome ou endereço IP da máquina onde o SGBD está sendo executado. Se for uma instância nomeada, devemos fornecer seu nome também;
    • InitialCatalog - nome do database;
    • UserID - usuário usado para conexão;
    • Password - senha do usuário;
    • IntegratedSecurity - false se estiver informando usuário e senha ou true se a autenticação for integrada com o sistema operacional;
    • UserInstance - false se o database for vinculado a uma instância do SQL Server ou true se for um arquivo de dados (instância de usuário);
    • AttachDbFilename - endereço do arquivo de dados do SQL Server que será usado.
  • Métodos:
    • ToString - Retorna a string de conexão;

Os construtores da classe SqlConnectionStringBuilder são:

  • SqlConnectionStringBuilder() - Cria uma instância (objeto) da classe;

Como criar uma string de conexão:Visual Basic

Dim objConnectionStringBuilder as SqlConnectionStringBuilder 


objConnectionStringBuilder = new SqlConnectionStringBuilder()
objConnectionStringBuilder.DataSource = "NOTEBOOK\SQLEXPRESS"
objConnectionStringBuilder.IntegratedSecurity = True
objConnectionStringBuilder.InitialCatalog = "MASTER"
objConnectionStringBuilder.ConnectTimeout = 2


''objConnectionStringBuilder.ToString() retorna a string de conexão

C#

SqlConnectionStringBuilder objConnectionStringBuilder =
  new SqlConnectionStringBuilder();


objConnectionStringBuilder.DataSource = @"NOTEBOOK\SQLEXPRESS";
objConnectionStringBuilder.IntegratedSecurity = true;
objConnectionStringBuilder.InitialCatalog = "MASTER";


//objConnectionStringBuilder.ToString() retorna a string de conexão