STRING CONEXÃO SQL SERVER 2008 EXPRESS NO VB6

FBUR 04/02/2016 13:59:09
#457062
Boa tade.

Tenho uma máquina Windows XP SP3 com VB6 instalado e estou tentando conectar no servidor com Windows 7 Pro SP1 com MSSQL Server 2008 Express, mas não consigo.

Tentei várias strings:

strCon = [Ô]driver=SQL Server;server=192.168.1.54\SQLEXPRESS; Database=teste01; Uid=flavio; Pwd=senha;[Ô]
strCon = [Ô]driver=SQL Server;server=\\192.168.1.54\SQLEXPRESS; Database=teste01; Uid=flavio; Pwd=senha;[Ô]
strCon = [Ô]driver={SQL Server};server=[ô]\\192.168.54.1\SQLEXPRESS[ô];[Ô]user id=[ô]flavio[ô];password=[ô]senha[ô];[Ô]
strCon = [Ô]Provider=SQLOLEDB;SERVER=flavio-pcv01\SQLEXPRESS;DATABASE=teste01;UID=flavio-pcv01\flavio;PWD=senha;[Ô]
strCon = [Ô]Provider=SQLNCLI; Server=192.168.1.54\SQLEXPRESS; Database=teste01; Uid=flavio; Pwd=senha;[Ô]
strCon = [Ô]Provider=SQLNCLI10;Server=192.168.1.54\SQLEXPRESS;Database=teste01;Uid=flavio;Pwd=senha;Trusted_Connection=yes;[Ô]
strCon = [Ô]Provider=SQLNCLI10;Server=\\192.168.1.54\SQLEXPRESS;Database=teste01;Uid=flavio;Pwd=senha;Trusted_Connection=yes;[Ô]
strCon = [Ô]Provider = MSDASQL;driver={SQL Server};Server=192.168.1.54\SQLEXPRESS;database=teste01;uid=sa;pwd=senha;[Ô]

As que possuem Driver, retornam dizendo que não há driver de conexão.
As que possuem Provider, retornam dizendo que o servidor não reponde ou acesso negado.

Que passa?

Abs.
MOUSER 04/02/2016 15:42:50
#457069
já testou em uma maquina virtual também?
FBUR 04/02/2016 16:11:24
#457071
Estou usando máquinas virtuais mesmo.

Já tentei IP da rede local, rede interna apenas, IP manual, mas nada.
KERPLUNK 04/02/2016 20:45:38
#457097
A máquina onde o server está é a local? Se não for, tente rodar localmente e veja se conecta. Se conectar o problema é com a rede/firewall
FBUR 04/02/2016 20:48:41
#457098
Localmente roda sim. Já em rede, nada. Desabilitei o firewall, mas nada. A máquina não tem nada instalado. Só o SQL Server. é uma máquina virtual que instalei só para isso.
FBUR 04/02/2016 21:38:14
#457103
Obs: A string que funcionou localmente foi:



strBancoDados = [Ô]teste01[Ô]
strHost = [Ô].\SQLEXPRESS[Ô]
strUsuario = [Ô]flavio[Ô]
strSenha = [Ô]senha[Ô]

strCon = [Ô]Provider=SQLNCLI10;Server=[Ô] & strHost & [Ô];Database=[Ô] & strBancoDados & [Ô];Uid=[Ô] & strUsuario & [Ô];Pwd=[Ô] & strSenha & [Ô];Trusted_Connection=yes;[Ô]


Localmente, o host também pode ser assim: nome-do-computador\SQLEXPRESS
Mas não funciona com IP. Estranho isso.

Nas máquinas virtuais, o cliente (winxp) pinga no nome do host (win7), mas não conecta. Eu acho que deve ter algo a ver com esse provider [Ô]SQL Server Native Client.

Localmente tem as versões:
SQL Server
SQL Server Native Client 10.0
SQL Server Native Client 11.0

Mesmo localmente não funfa usando provider SQL Server. Então vou ver se baixo alguma versão SQL Server Native Client 10.0 ou 11.0 para windows XP.

Vamos ver no que dá :)

KERPLUNK 04/02/2016 22:31:37
#457104
A máquina virtual está aberta? Entre nela e descubra o ip de rede dela para incluir na connection string.
FBUR 05/02/2016 02:13:28
#457115
Meus caros, problema resolvido.

A questão é que não posso passar a instância \SQLEXPRESS na string de conexão, passo apenas o servidor (agora sim, tanto faz por IP ou nome do host). Assim:

strBancoDados = [Ô]teste01[Ô]
strHost = [Ô]192.168.1.54[Ô] // ou strHost = [Ô]nome-do-host[Ô]
strUsuario = [Ô]flavio[Ô]
strSenha = [Ô]senha[Ô]

strCon = [Ô]Provider=SQLNCLI10;Server=[Ô] & strHost & [Ô];Database=[Ô] & strBancoDados & [Ô];Uid=[Ô] & strUsuario & [Ô];Pwd=[Ô] & strSenha & [Ô];Trusted_Connection=yes;[Ô]


Deu errado colocar o servidor assim:
strHost = [Ô]192.168.1.54\SQLEXPRESS[Ô] ou strHost = [Ô]nome-do-host\SQLEXPRESS[Ô] --> assim só funfa na mesma máquina onde o SQL Server está instalado. Se for máquina remota, não pode inserir \SQLEXPRESS

Dá pra acreditar?! :D

Não sei se normalmente é assim com o MSSQL Server, pois eu trabalhei a minha vida toda com o MySQL, que é muuuito mais simples de instalar, configurar e gerenciar.

Abs.
Tópico encerrado , respostas não são mais permitidas