none
Erro na conexão com o Banco de dados RRS feed

  • Pergunta

  • Bom dia amigos,

    Utilizo SQL Server 2000 enterprise em meu servidor, apps em php, vb, asp.. e sempre funcionaram.

    Por força maior tive que instalar uma instancia do SQL Server 2005 express no mesmo servidor. Aplicaçoes php, asp continuam funcionando blza.. 

    Mas tenho um app em vb que parou de funcionar dps da instalação do express 2005.... Este app foi desenvolvido para ser chamado de dentro do word, tipo como uma macro... (clica no botao e chama o app dentro do word...) ele usa essa sintaxe para conexão com o banco:

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB.1;Password=hctqku;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=10.0.0.1"
    ConexaoAccess.Open

    Aparece a seguinte msg de Erro:

    ----

    Erro em tempo de execução '-2147467259 (80004005)': 

    [DBNETLIB][ConnectionOpen (Connect()).]SQL Server inexistente ou acesso negado.

    ---

    Alguém, por favor, poderia me dar uma direção pra onde poderia começar a olhar? sinceramente eu to sem rumo e tem apenas eu aqui na empresa p ver.. tudo. e disso eu nao manjo mto nao. 

    vlw abs

    sexta-feira, 22 de novembro de 2013 11:44

Respostas

  • Faz um teste no Provider, alterando 

    DE: Provider=SQLOLEDB.1;

    PARA: Provider=SQLOLEDB;

    Se funcionar é problema de provider, aí vc teria que verificar qual o provider instalado.


    "Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta."

    Érica Tohoma | http://bloggirlsa.wordpress.com

    • Marcado como Resposta DiFurlan sexta-feira, 22 de novembro de 2013 16:38
    sexta-feira, 22 de novembro de 2013 12:14
  • Se o SQL que estiver utilizando é a instância padrão, pode tentar colocar

    Data Source=(local)

    ou então:

    Data Source=.\instancia

    • Marcado como Resposta DiFurlan sexta-feira, 22 de novembro de 2013 16:38
    sexta-feira, 22 de novembro de 2013 12:24
  • Cesar, voce acertou. 

    Quando eu altero de: 

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB;Password=hctqku4w;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=10.0.0.1"
    ConexaoAccess.Open

    Para:

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB;Password=hctqku;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=ORION/MSSQLSERVER2000"
    ConexaoAccess.Open

    Funciona. mas tenho um problema c essa solução: São 50 máquinas. E eu preciso alterar uma a uma.

    Será que teria alguma configuração que eu pudesse fazer no servidor que pudesse economizar tanto trabalho? 

    tipo, configurar algo ou em Server Network Utility ou em Cliente Network Utility, ou no MS SQL Server Management Studio.? ou no odbc, sei lá. rs.

    Grato!!


    sexta-feira, 22 de novembro de 2013 12:41

Todas as Respostas

  • Faz um teste no Provider, alterando 

    DE: Provider=SQLOLEDB.1;

    PARA: Provider=SQLOLEDB;

    Se funcionar é problema de provider, aí vc teria que verificar qual o provider instalado.


    "Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta."

    Érica Tohoma | http://bloggirlsa.wordpress.com

    • Marcado como Resposta DiFurlan sexta-feira, 22 de novembro de 2013 16:38
    sexta-feira, 22 de novembro de 2013 12:14
  • DiFurlan, evite de colocar usuários e senhas no fórum.
    Sei que pode não ser útil para quase ninguém, e poucos estão mal intencionados, mas sempre tem alguém que tentar dar uma de esperto.
    Se puder edite sua postagem e remova o usuário e senha.

    Quanto ao problema, como já disse a Erica, parece ser problema de provider mesmo.

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    sexta-feira, 22 de novembro de 2013 12:18
  • Se o SQL que estiver utilizando é a instância padrão, pode tentar colocar

    Data Source=(local)

    ou então:

    Data Source=.\instancia

    • Marcado como Resposta DiFurlan sexta-feira, 22 de novembro de 2013 16:38
    sexta-feira, 22 de novembro de 2013 12:24
  • Érica, 

    Eu tentei essa alteração e não funcionou. 

    Mas obrigado mesmo assim.

    sexta-feira, 22 de novembro de 2013 12:35
  • Kanaãm,

    Obrigado pela dica. A senha informada não é a do banco. Eu havia postado com a alteração.

    grato,

    sexta-feira, 22 de novembro de 2013 12:37
  • Beleza!
    Verifique o que o Cesar disse.

    Pelo que entendi agora você tem 2 instâncias de SQL na sua máquina.
    Você vai precisar referenciar o Data Source com <Endereço>\<instância>


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    sexta-feira, 22 de novembro de 2013 12:40
  • Cesar, voce acertou. 

    Quando eu altero de: 

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB;Password=hctqku4w;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=10.0.0.1"
    ConexaoAccess.Open

    Para:

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB;Password=hctqku;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=ORION/MSSQLSERVER2000"
    ConexaoAccess.Open

    Funciona. mas tenho um problema c essa solução: São 50 máquinas. E eu preciso alterar uma a uma.

    Será que teria alguma configuração que eu pudesse fazer no servidor que pudesse economizar tanto trabalho? 

    tipo, configurar algo ou em Server Network Utility ou em Cliente Network Utility, ou no MS SQL Server Management Studio.? ou no odbc, sei lá. rs.

    Grato!!


    sexta-feira, 22 de novembro de 2013 12:41
  • É isso aí Kanaãm,

    na verdade é uma mescla do que a Érica disse com o que o Cesar sugeriu.

    Assim:

    Set ConexaoAccess = New ADODB.Connection
    ConexaoAccess.ConnectionString = "Provider=SQLOLEDB;Password=hctqku;Persist Security Info=True;User ID=sa;Initial Catalog=MeuCPPro;Data Source=10.0.0.1\MSSQLSERVER2000"
    ConexaoAccess.Open

    Mas ainda gostaria muito de uma solução menos trabalhosa, que pudesse alterar direto no servidor. Acho que não tem né?

    Obrigado novamente.

    sexta-feira, 22 de novembro de 2013 12:58
  • Você habilitou o TCP/IP na configuração do Sql Server?

    Coloca lá o seu IP e a porta 1433 e deixe o TCP Dynamic Ports vazio.

    Se for o caso, mude a porta da segunda instância para uma diferente de 1433.

    Estas configurações são feitas no SQL Server configuration Manager.

    Acredito que isso pode funcionar.

    sexta-feira, 22 de novembro de 2013 14:10
  • DiFurlan, 

    Na sua estação de trabalho, você instalou o SQL Server Native Client?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 22 de novembro de 2013 15:27
    Moderador
  • Junior,

    Eu não instalei o native client na estação.


    sexta-feira, 22 de novembro de 2013 16:37