CONECTAR AO BANCO DE DADOS SQL VISUAL STUDIO 2017
Dim local As String = System.IO.Path.Combine(Application.StartupPath, [Ô]Database3.mdf[Ô])
Dim myConnectionString As String = [Ô]Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=[Ô] & local & [Ô];Integrated Security=True;Connect Timeout=50[Ô]
Dim connection As New SqlConnection(myConnectionString)
e dentro do Form_load do aplicativo faço a conexão ao banco de dados dessa forma:
[ô]abrir conexão com o banco de dados
connection.Open()
A questão é que no computador local onde desenvolvi o programa tudo roda q é uma beleza, porem em outra maquina a conexão não é realizada. e segue a mensagem de erro :
Additional information: Erro de rede ou especÃfico à instância ao estabelecer conexão com o SQL Server. O servidor não foi encontrado ou não estava acessÃvel. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provider: SQL Network Interfaces, error: 52 - Não é possÃvel localizar uma instalação de Local Database Runtime. Verifique se o SQL Server Express está instalado corretamente e se o recurso Tempo de Execução de Banco de Dados Local está habilitado.)
Informações adicionais: criei um setup do aplicativo e inclui no mesmo o arquivo .mdf então o mesmo esta corretamente na pasta do aplicativo então esse não seria o motivo do erro. na maquina cliente não tem nenhuma instalação de sql server ... será que esse seria o problema e como resolver pois não tenho como instalar o sql server na maquina de cada cliente que adquirir o software? tenho que instalar algo na maquina destino para funcionar? citando que o Banco de dados é local, somente preciso de acesso ao arquivo para atualizar alguns dados e armazenar outros... já alterei coisas como Timeout=50 mais nada adianta.
Citação::
LocalDB só funciona se tiver o SQL Server Express instalado no PC, e tem que ser a versão Express.
Então perdi todo o tempo de programação, ou teria como migrar isso para alguma outra forma que funcione localmente ?
https://www.microsoft.com/pt-br/download/details.aspx?id=17876
https://stackoverflow.com/questions/23320013/how-to-install-localdb-separately
mais novo
https://www.sqlshack.com/install-microsoft-sql-server-express-localdb/
A questão é configurar certo o SQL que vai funcionar certinho....
Basicamente são 3 coisas que vc tem que fazer....
1 - Instalar o sqlserver express em uma máquina que será o servidor.
2 - Configurar esse sql server para ser acessado por outras máquinas(estações) que podem ser na mesma rede ou em outra rede (acesso remoto)
3 - Configurações necessárias no Sevidor A - Ip Fixo (Pois as conexões nas estações funcionam melhor via IP);
B - Desativar o Firewal do Windos;
C - Liberar uma porta para o Sql Server no Firewall do Windows (A porta padrão do SQL é a 1433, porém recomendo usar outra, pois existem muitos modens que ao serem reiniciados derrubam as portas padrão se vc tentar um acesso externo sem uma porta paga - Eu convencionei Usar a porta 1385)
Depois de instalado o SQL acesse o SQL Configuration Manager e configure o sql server para o ambiente de rede....
Depois de configurado, reinicie os serviços do sql server
Use a seguinte string de conexão e vai tudo funcionar corretamente
[Ô]Data Source=IPServidor,PortaFirewall;Initial Catalog=Nome_do_Banco;User ID=UsuarioBD;Password=SenhaBD;[Ô]
onde: IPServidor é o IP atribuÃdo ao servidor ;
PortaFirewall é a porta liberada no Firewall
Nome_do_Banco é o nome atribuÃdo ao Banco de dados
UsuarioBD é o nome do usuário configurado para o banco de dados
SenhaBD é a senha atribuÃda ao usuário do banco de dados
Reescrevendo a string acima ficaria algo assim
[Ô]Data Source=192.168.1.55,1385;Initial Catalog=DataBase3;User ID=EBOOKREVENDA;Password=101010;[Ô]
Se seguir essas dicas te garanto que funcionará 100%....
Espero que isso te ajude....
Citação::
Olha só amigo.... Sofri muito com esse problema
A questão é configurar certo o SQL que vai funcionar certinho....
Basicamente são 3 coisas que vc tem que fazer....
1 - Instalar o sqlserver express em uma máquina que será o servidor.
2 - Configurar esse sql server para ser acessado por outras máquinas(estações) que podem ser na mesma rede ou em outra rede (acesso remoto)
3 - Configurações necessárias no Sevidor A - Ip Fixo (Pois as conexões nas estações funcionam melhor via IP);
B - Desativar o Firewal do Windos;
C - Liberar uma porta para o Sql Server no Firewall do Windows (A porta padrão do SQL é a 1433, porém recomendo usar outra, pois existem muitos modens que ao serem reiniciados derrubam as portas padrão se vc tentar um acesso externo sem uma porta paga - Eu convencionei Usar a porta 1385)
Depois de instalado o SQL acesse o SQL Configuration Manager e configure o sql server para o ambiente de rede....
Depois de configurado, reinicie os serviços do sql server
Use a seguinte string de conexão e vai tudo funcionar corretamente
[Ô]Data Source=IPServidor,PortaFirewall;Initial Catalog=Nome_do_Banco;User ID=UsuarioBD;Password=SenhaBD;[Ô]
onde: IPServidor é o IP atribuÃdo ao servidor ;
PortaFirewall é a porta liberada no Firewall
Nome_do_Banco é o nome atribuÃdo ao Banco de dados
UsuarioBD é o nome do usuário configurado para o banco de dados
SenhaBD é a senha atribuÃda ao usuário do banco de dados
Reescrevendo a string acima ficaria algo assim
[Ô]Data Source=192.168.1.55,1385;Initial Catalog=DataBase3;User ID=EBOOKREVENDA;Password=101010;[Ô]
Se seguir essas dicas te garanto que funcionará 100%....
Espero que isso te ajude....
Olá, grato pela resposta porem não sei se entendeu bém, a questão é que eu não terei um servidor remoto onde vou deixar o banco de dados eu quero que ele fique na maquina onde o cliente vai instalar a aplicação somente isso, Localmente. é ate agora pelo que vi a unica opção é fazer isso instalando o sql server. Antes do banco de dados eu usava uma estrutura onde tudo era salvo em arquivos .txt, por exemplo a cada novo dado que surgia eu salvava no arquivo de texto porem como são muitos dados que vão surgindo ao decorrer da execução do programa sempre dava algum problema e em muitos casos eu ate perdia esse banco de dados porque os arquivos txt se corrompiam, creio que por não serem adequados e o manuseio ser mais complicado de se tratar. Por isso criei o banco de dados diretamente pelo Visual studio, achei que o microsoft net Framwork cuidasse de tudo ou ate mesmo pelo fato de poder criar direto pelo visual studio as tabelas achei que ja fosse de alguma forma ficar vinculado ao software porem como sou novato na questão de banco de dados para minha surpresa me deparei com essa questão que ao final vai deixar meu programa mais complexo devido ao fato de ter que instalar SQL, [Ô]instalar algo a mais na maquina de um cliente sempre é um problema ainda mais levando em conta que é ele quem vai ter que fazer isso[Ô] O que eu preciso então é de uma solução onde eu possa arquivar os meus dados de forma semelhante a um banco de dados onde eu não tenha esse problema de ficar perdendo meus dados por ter arquivos corrompidos durante o processo de salvamento, algo como tabelas ou algo assim, e também onde eu não tenha que instalar algo a mais no computador do cliente pois isso dificulta as coisas. Agradeço a todas as respostas e estou dando uma olhada em todos os links aqui pra ver se acho algo do tipo.
Cada cliente vai ter só um PC rodando o programa? Se sim, vc pode usar um código pra instalar e configurar o sql server automaticamente pela sua aplicação.... Se Não, vc não tem como fugir de um servidor...
Uma dica: Se for rodar em mais de uma máquina, e quer rodar em rede pode usar uma banco de dados que para mim não é banco de dados chamado access... Ele é fácil de manusear e resolve teu problema