Fazer uma PerguntaFazer uma Pergunta
 

RespondidoString de Conexão

  • quarta-feira, 11 de julho de 2007 14:06a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Olá pessoal, estou fazendo um site e tenho muitas conexoes com o banco via codigo, para eu fazer as conexoes via codgio tenho que especificar o caminho completo do banco. Será que teria um jeito de eu especificar apenas o caminho dentro do meu projeto? Estou tendo serios problemas com essas conexoes.

    Abraços.

Respostas

  • quarta-feira, 11 de julho de 2007 20:57Luís Fernando Vendrame Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Uma conexão vai ser comum, é através dela que você vai obter o usuário de uma tabela e verificar se a senha confere, nesta mesma tabela deverá conter o id do usuário (um código de identificação do usuário).
    Crie uma tabela para armazenar dois campos, o código do usuário e a string de conexão, ou armazene na mesma tabela do usuário, a partir do código do usuário faça um select para obter a string de conexão, ai você pode até guardá-la na Session, para não precisar ficar recuperando-á a todo momento.

    Espero ter ajudado desta vez,

    Atenciosamente
  • quarta-feira, 12 de setembro de 2007 19:12a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido

    Olá pessoal...eu já resolvi o problema.

     

    Criei uma session que recebe o nome do meu banco, ai toda vez que inicio uma pagina ele tem uma conexao eu passo o nome do banco com parametro para a string de conexao.

    Vlw pessoal.

    Obrigado.

    Abraços.

Todas as Respostas

  • quarta-feira, 11 de julho de 2007 16:29CaVaNHaKi Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Boa tarde,

    Tu poderia fazer assim:

    Code Snippet

    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\nomeBanco.mdf; Integrated Security=True; MultipleActiveResultSets=True; User Instance=True" providerName="System.Data.SqlClient"/>


    []'s
  • quarta-feira, 11 de julho de 2007 16:35a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Cláudio vc poderia mi explica o codigo.
  • quarta-feira, 11 de julho de 2007 18:19CaVaNHaKi Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Sim, o atributo (name="ConnectionString") é o nome que tu usará via código para utilizar esta conexão.
    Exemplo via código tu quer acessar esta conexão no web.config, tu faria assim:

    Code Snippet

    string strConnDb = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlConnection sqlConn = new SqlConnection(strConnDb);


    Como sou novo, minhas informações podem estar erradas, sobre a explicação.
    Ja esta parte:
    Data Source=.\SQLEXPRESS; (IP ou Nome do Servidor SQL) AttachDbFilename=|DataDirectory|\nomeBanco.mdf; (|DataDirectory| indica o diretório App_Data que é onde o .mdf é armazenado em seu projeto)
    Integrated Security=True; (tu tá ativado alguma lance de segurança em sua conexão, não sei bem o que)
    MultipleActiveResultSets=True; (permite utilizar varias conexões ao mesmo tempo)
    User Instance=True; (está aqui já ñ sei o que é :-D)

    Espero ter ajudado.
    []'s
  • quarta-feira, 11 de julho de 2007 20:09a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Deixa te explicar como minha aplicação funciona. Tenho um site q é acesado por varios clientes, cada cliente tem seu banco de dados acessando assim a aplicação, esse acesso acorre apos o cliente fazer o login, ouseja, ele escolhe o banco que vai acessar.

    Quando eu estou fazendo a aplicaçao eu nao posso definir que sera este ou aquele banco de dados que será usado pq depende do usuario.

     

    Vc entendeu?

    Tem como me ajudar?

    Abraços.

  • quarta-feira, 11 de julho de 2007 20:18Luís Fernando Vendrame Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Utilize um banco principal de forma compartilhada para o login dos usuário, neste banco você armazena as informações de login a a string de conexão, a partir dai, quando o usuário se logar vc pega a string de conexão referente a ele.

    Atenciosamente,
  • quarta-feira, 11 de julho de 2007 20:23CaVaNHaKi Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Boa tarde,

    Entendi, então tu tem uma base só para os logins? Mais as outras bases para redirecionar cada tipo de cliente, certo?
    E seria viável tu seguir a sugestão do Lúiz?
    Não tem como tu unir todas as bases em uma única?
    []'s

  • quarta-feira, 11 de julho de 2007 20:26a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Fernando, o que eu esotu querendo fazer .é exatamente isso mas não sei como implantar este método em meu código. Vc sabe como posso fazer?

    Abraços.

  • quarta-feira, 11 de julho de 2007 20:50HENRIQUE SOUZA _-_ MCP - MCAD Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Boa tarde joão, eu tive um problema parecido, onde utilizo Oracle com DBlink e cinco servidores diferentes, conforme o login do usuário eu monto uma string de conexão:

     

    Solução: Montei um XML genérico com as possiveis string's de conexão e obrigo o usuário a escolher qual base ele irá logar, com isso consigo validar se o usuário tem acesso ou não aquele base.

     

    Caso precise de ajuda para montar o XML e como ler o mesmo posso lhe ajudar

     

  • quarta-feira, 11 de julho de 2007 20:57Luís Fernando Vendrame Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Uma conexão vai ser comum, é através dela que você vai obter o usuário de uma tabela e verificar se a senha confere, nesta mesma tabela deverá conter o id do usuário (um código de identificação do usuário).
    Crie uma tabela para armazenar dois campos, o código do usuário e a string de conexão, ou armazene na mesma tabela do usuário, a partir do código do usuário faça um select para obter a string de conexão, ai você pode até guardá-la na Session, para não precisar ficar recuperando-á a todo momento.

    Espero ter ajudado desta vez,

    Atenciosamente
  • quinta-feira, 12 de julho de 2007 11:55a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Tudo isto que vcs me disseram é exatamente o que eu quero, principalmente o que vc disse agora Luis, mas o problema é que eu não sei como implementar isto no meu código, vc sabe fazer esta parte?

    Abraços.

  • quinta-feira, 12 de julho de 2007 12:54a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Alguem pode me ajudar?
  • quinta-feira, 12 de julho de 2007 16:26a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Por favor galera to precisando muito dessa solução.

    Mi ajudem ai.

    Abraços.

  • sábado, 14 de julho de 2007 6:06Dennes Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Oi !

     

    Crie um novo website

     

    vá no menu website ->asp.net configuration

     

    Vá em security

     

    Siga o wizard

     

    Voltando ao design no VS, teste os webControls da aba login na toolbox.

     

    Leia este artigo : http://www.bufaloinfo.com.br/artigos/coluna32.asp

     

    Crie uma classe que, com base na identidade do usuário, recupere a string de conexão de sua base de dados.

     

    Passe a utilizar esta classe em suas páginas, para especificar a string de conexão.

     

    []'s

     

  • quarta-feira, 12 de setembro de 2007 18:42Nebert Onisete Oliveira Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Cara primeiro no seu web.confg vc cria a sua string de conexão como abaixo

     

    <add name="SuaString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\nomeBanco.mdf; Integrated Security=True; MultipleActiveResultSets=True; User Instance=True" providerName="System.Data.SqlClient"/>

     

    se vc tiver usando C# toda vez que precisar acessar seu bando e so usar o modelo abaixo.

     

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SuaString"].ConnectionString);

    conn.Open();

     

    e para usar seus comando

     

    SqlCommand comando = new SqlCommand("seu comando", conn);

    comando.ExecuteNonQuery();

     

    espero ter ajudado..

     

     

  • quarta-feira, 12 de setembro de 2007 19:12a__TAK__ Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido

    Olá pessoal...eu já resolvi o problema.

     

    Criei uma session que recebe o nome do meu banco, ai toda vez que inicio uma pagina ele tem uma conexao eu passo o nome do banco com parametro para a string de conexao.

    Vlw pessoal.

    Obrigado.

    Abraços.