«

»

mai 28

Gerando String de Conexão com ConnectionStringBuilder no VB.NET

Quando definimos a arquitetura de uma aplicação e precisamos criar uma string de conexão dinamicamente ou carregar essa string cadastrada em banco de dados ou alterá-la de certa forma, podemos usar a Classe ConnectionStringBuilder do namespace System.Data.SqlClient de forma bem simples.

Criamos um novo projeto Windows Form com o seguinte visual:

27-05-2011 23-30-27

Fazemos import do namespace:

Imports System.Data.SqlClient

E no código do click do botão:

  Private Sub brnGerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles brnGerar.Click
    Dim builder As New SqlConnectionStringBuilder()

    builder.DataSource = txtDataSource.Text
    builder.InitialCatalog = txtInitialCatalog.Text
    builder.UserID = txtUserID.Text
    builder.Password = txtPassword.Text

    txtString.Text = builder.ConnectionString

  End Sub

Rodamos a aplicação e vemos o resultado:

27-05-2011 23-35-42

Existem outras propriedades que podem ser usadas de acordo com a necessidade de cada sistema, abaixo segue algumas principais:

Propriedade Descrição
ApplicationName Nome da Aplicação associada à String de Conexão
AttachDBFilename Caminho e nome do Arquivo externo
ConnectTimeout Tempo em Segundos do TimeOut
IntegratedSecurity Se Possui Segurança Integrada
MaxPoolSize Máximo de Conexão aceitas no Pool
MinPoolSize Mínimo de Conexão aceitas no Pool
Pooling Se aceitará Pool
WorkstationID Nome do Workstation para conectar ao SQL Server

No construtor da classe temos também a opção de passar uma string de conexão que será carregada na classe para podermos editar as propriedades individualmente:

 Private Sub CarregaConnectionString()
    Dim builder As New SqlConnectionStringBuilder("Data Source=localhost;Initial Catalog=SeuBanco;User ID=usuario;Password=senha")

    txtDataSource.Text = builder.DataSource
    txtInitialCatalog.Text = builder.InitialCatalog
    txtUserID.Text = builder.UserID
    txtPassword.Text = builder.Password

    txtString.Text = builder.ConnectionString
  End Sub

Alterando a String de Conexão Dinamicamente

Para alterarmos uma string de conexão existente no app.config, adicionaremos a referência ao projeto do namespace System.Configuration e faremos o import dela.

Imports System.Configuration

Abaixo o código para alteração em tempo de execução:

    'Carregamos as configurações do App.Config
    Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    'Aplicamos a nova string de conexão para a string da chave AppConnectionString1
    config.ConnectionStrings.ConnectionStrings("AppConnectionString1").ConnectionString = builder.ConnectionString
    'Salvamos a alteração
    config.Save()

É isso pessoal, qualquer dúvida pode postar que tentarei ajudar e até a próxima.

Um abraço ao pessoal de Angola que tem acessado o meu blog frequentemente. Smiley piscando

Referência: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx

Bruno Maestro

“Deus é Fiel!”

3 comentários

  1. Edson Messias

    Muito bom! Obrigado pela excelente dica! Me ajudou muito!

  2. Bruno Maestro

    Obrigado Edson pela visita :)

  3. Open

    سلام امدیوارم که خوب باشیدمن یک برنامه نوشتم که موقع نصب ، دیتا بیس (sql)بهش وصل نمیشه یعنی برنامه کامل نصب میشه و لی موقع اجرا خطای وصل شدن به دیتا بیس رو میده . اگه ممکنه منو کمک کنید . SqlConnection con = new SqlConnection( server=(local);Database=student;Integrated Security=True );

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>