none
String de conexão RRS feed

  • Pergunta

  • Eu estou com uma duvida referente a string de conexão, é assim.

    Eu tenho uma aplicação já pronta, funciona aqui em casa, pq tenho o SQL express já instalado, mas e se eu colocar ele para rodar na maquina de algum cliente, eu vou ter que instalar alguma instância do SQL ou na propria string ele consegue achar o banco.

    A string que eu uso é a mais simples de todas que já achei, segue ela :
    conn = "server:nome_da_maquina, database:nome_bd, user:sa, password:12345678"

    como que eu gero uma aplicação que ache o banco, sem usar os assistentes do visual studio ?
    sábado, 27 de junho de 2009 17:46

Respostas

  • Ignorância é saber tudo, ai vai a string:

    Server=<ip>;Database=<coloque o database>;User ID=<usuário>;Password=<senha>

    Sobre a porta:

    a porta seria 1433, mas o sql 2005 pode ter porta dinâmica,  por isso constumo liberar o aplicativo e não a porta no meu ambiente de desenvolvimento, se tiver no xp, na conexão de rede, guia avançado,  em firewall, tem dois botões, adicionar porta e adicionar aplicativo, em adicionar aplicativo, adicione os seguintes (deve estar em um caminho parecido com esse):

    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe
    C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe

    Mas se não tiver conectado direto na internet, para o teste, desative o firewall faça o teste e depois repita com ele ativado e a configuração acima, para saber onde  deu erro se der erro

    Sobre o exemplo prático, teria de fazer mesmo, não tenho pronto, mas para facilitar, pelo menos por enquanto,  pode deixar a mesma string de conexão nas três máquinas, ela é a mesma pois aponta  para o mesmo servidor em qualquer máquina, o VS2008 Express tem um wizard que te gera esta string

    OBS: Não esqueça do framework nas máquinas cliente e se forem sistemas xp ou 2000 mais antigos e não tiverem atualizados, você pode ter de atualizá-los e instalar o "sqlncli" no final desta página (para atualizar algumas bibliotecas):

    http://www.microsoft.com/downloads/details.aspx?FamilyID=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&displaylang=en



    • Sugerido como Resposta Drunk Charizard segunda-feira, 20 de julho de 2009 10:11
    • Marcado como Resposta WillianSantos segunda-feira, 20 de julho de 2009 22:09
    segunda-feira, 20 de julho de 2009 10:11
  • Boa Noite,

    O SQL Server (seja Express ou qualquer outro) é um banco de dados e não um sistema de arquivos.
    Você não conseguirá utilizar sua aplicação se o seu cliente não tiver SQL Server na máquina onde os arquivos .MDF e .LDF vão ficar hospedados independente de qualquer ajuste na string de conexão.

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Mitos do SQL Server – A ordem das tabelas influencia no desempenho de uma instrução SELECT ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!643.entry 


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 20 de julho de 2009 04:57
    • Marcado como Resposta WillianSantos segunda-feira, 20 de julho de 2009 22:10
    segunda-feira, 20 de julho de 2009 04:57

Todas as Respostas

  • Willian,

    Mas este banco vai ficar instalado na sua máquina?

    É possível sim através da conexão apontar o banco de dados que você se conectar, mas é claro que vai depender da forma de acesso como também do local que você deseja colocar este banco.

    De qualquer forma o banco deverá ficar armazenado dentro de uma instância SQL Server!!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    domingo, 28 de junho de 2009 17:01
    Moderador
  • Oi Junior,

    É assim, eu tenho uma rede de 3 computadores, sendo eles 1 servidor e 2 clientes, no servidor eu tenho o banco da aplicação e gostaria que os outros 2 tbm acesse o mesmo banco.

    Como eu faço isso ?

    domingo, 28 de junho de 2009 18:30
  • Willian, na sua string de conexão só verifique o nome da máquina, se está com o ip ou nome host da máquina onde o banco está, não pode ter "localhost" ou "127.0.0.1", tem de ser o ip de preferência depois vá ao "SQL Server Surface Area Configuration" e ative o acesso remoto (tcp/ip) ao sql express (vem desativado por padrão), libere o sql no seu firewall na máquina onde está o banco, se me disser se tem xp ou vista ou um firewall de terceiros eu te ajudo a isso, depois é só executar a aplicação nas outras máquinas (ping a rede toda dos pontos para garantir que está conectada).
    domingo, 19 de julho de 2009 21:09
  • Lênin,

    Desculpe a ignorância rsrs, você pode me dar um exemplo de como seria essa string ?
    A porta do SQL no firewall é a 1466 ? (não estou lembrado agora)

    Você também tem um exemplo prático de como apontar o banco pela propria aplicação ?
    (Através de um formulário dentro do proprio sistema apontar o banco)

    Obrigado Lênin.
    segunda-feira, 20 de julho de 2009 01:09
  • Boa Noite,

    O SQL Server (seja Express ou qualquer outro) é um banco de dados e não um sistema de arquivos.
    Você não conseguirá utilizar sua aplicação se o seu cliente não tiver SQL Server na máquina onde os arquivos .MDF e .LDF vão ficar hospedados independente de qualquer ajuste na string de conexão.

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Mitos do SQL Server – A ordem das tabelas influencia no desempenho de uma instrução SELECT ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!643.entry 


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 20 de julho de 2009 04:57
    • Marcado como Resposta WillianSantos segunda-feira, 20 de julho de 2009 22:10
    segunda-feira, 20 de julho de 2009 04:57
  • Ignorância é saber tudo, ai vai a string:

    Server=<ip>;Database=<coloque o database>;User ID=<usuário>;Password=<senha>

    Sobre a porta:

    a porta seria 1433, mas o sql 2005 pode ter porta dinâmica,  por isso constumo liberar o aplicativo e não a porta no meu ambiente de desenvolvimento, se tiver no xp, na conexão de rede, guia avançado,  em firewall, tem dois botões, adicionar porta e adicionar aplicativo, em adicionar aplicativo, adicione os seguintes (deve estar em um caminho parecido com esse):

    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe
    C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe

    Mas se não tiver conectado direto na internet, para o teste, desative o firewall faça o teste e depois repita com ele ativado e a configuração acima, para saber onde  deu erro se der erro

    Sobre o exemplo prático, teria de fazer mesmo, não tenho pronto, mas para facilitar, pelo menos por enquanto,  pode deixar a mesma string de conexão nas três máquinas, ela é a mesma pois aponta  para o mesmo servidor em qualquer máquina, o VS2008 Express tem um wizard que te gera esta string

    OBS: Não esqueça do framework nas máquinas cliente e se forem sistemas xp ou 2000 mais antigos e não tiverem atualizados, você pode ter de atualizá-los e instalar o "sqlncli" no final desta página (para atualizar algumas bibliotecas):

    http://www.microsoft.com/downloads/details.aspx?FamilyID=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&displaylang=en



    • Sugerido como Resposta Drunk Charizard segunda-feira, 20 de julho de 2009 10:11
    • Marcado como Resposta WillianSantos segunda-feira, 20 de julho de 2009 22:09
    segunda-feira, 20 de julho de 2009 10:11