Fórum Conexão ADO com SQL 2005 dando erro #364270
25/09/2008
0
Ai feras da programação problemão,
Seguinte, no sistema que desenvolvo usava Delphi 6 e os componentes Database e Session (BDE) para conectar a um banco SQL 2000, agora dei uma radicalizada e troquei muita coisa a começar pelo Delphi que agora é o 2007 Enterprise, o Banco agora é SQL 2005, e troquei também a conexão com o banco de Database para ADO.
- Essa troca na opnião de vocês é válida?
[b:a31fdae7d8]Agora quanto ao problema é o seguinte:[/b:a31fdae7d8]
- configurei o ADO da seguinte maneira:
em Provedor:
Microsoft OLE DB Provider for SQL Server
em Conexão:
Nome do servidor coloquei: 208.101.29.xxx o ip do banco remoto (internet)
Nome do usuario: usuariodobanco
Senha: senhadobanco
banco de dados do servidor: nomedobanco
em Avançadas e Todas
Não modifiquei nada
a string do ADO ficou assim
Provider=SQLOLEDB.1;Password=senhadobanco;Persist Security Info=True;User ID=usuariodobanco;Initial Catalog=nomedobanco;Data Source=208.101.29.xxx
[b:a31fdae7d8]Quando mando testar a conexão dá o seguinte erro:[/b:a31fdae7d8]
Falha no teste de conexão devido a um erro na inicialização do provedor. [DBNETLIB][ConectionOpen (Invalid Instance()).] Conexão Inválida
Agora é que vem algo interessante. Se eu mudar o provedor de ´Microsoft OLE DB Provider for SQL Server´ para ´SQL Native Client´ e colocar os paramentros o teste de conexão funciona sem erro.
Nesse caso posso usar o SQL Native Cliente para conectar o banco? ou eu teria problema, pois fiz toda a configuração para SQL Native Cliente coloquei uma TADOQuery dentro coloquei um select e ativei a query e ele não deu erro algum.
Seguinte, no sistema que desenvolvo usava Delphi 6 e os componentes Database e Session (BDE) para conectar a um banco SQL 2000, agora dei uma radicalizada e troquei muita coisa a começar pelo Delphi que agora é o 2007 Enterprise, o Banco agora é SQL 2005, e troquei também a conexão com o banco de Database para ADO.
- Essa troca na opnião de vocês é válida?
[b:a31fdae7d8]Agora quanto ao problema é o seguinte:[/b:a31fdae7d8]
- configurei o ADO da seguinte maneira:
em Provedor:
Microsoft OLE DB Provider for SQL Server
em Conexão:
Nome do servidor coloquei: 208.101.29.xxx o ip do banco remoto (internet)
Nome do usuario: usuariodobanco
Senha: senhadobanco
banco de dados do servidor: nomedobanco
em Avançadas e Todas
Não modifiquei nada
a string do ADO ficou assim
Provider=SQLOLEDB.1;Password=senhadobanco;Persist Security Info=True;User ID=usuariodobanco;Initial Catalog=nomedobanco;Data Source=208.101.29.xxx
[b:a31fdae7d8]Quando mando testar a conexão dá o seguinte erro:[/b:a31fdae7d8]
Falha no teste de conexão devido a um erro na inicialização do provedor. [DBNETLIB][ConectionOpen (Invalid Instance()).] Conexão Inválida
Agora é que vem algo interessante. Se eu mudar o provedor de ´Microsoft OLE DB Provider for SQL Server´ para ´SQL Native Client´ e colocar os paramentros o teste de conexão funciona sem erro.
Nesse caso posso usar o SQL Native Cliente para conectar o banco? ou eu teria problema, pois fiz toda a configuração para SQL Native Cliente coloquei uma TADOQuery dentro coloquei um select e ativei a query e ele não deu erro algum.
Nilsonalvernaz
Curtir tópico
+ 0
Responder
Posts
25/09/2008
Nilsonalvernaz
Ningém dá o ar da graça?
Responder
Gostei + 0
30/09/2008
Nilsonalvernaz
Como ninguém pode me ajudar eu corri atrás e estou postando a solução que encontrei.
Seguinte: Pra quem usa conexão ADO e não está conseguindo conectar com o SQL Server 2005, tem que usar o provider ´SQL Native Cliente´ para uma conexão externa, ou seja conectar um banco na internet ou em um provedor, pois o Provider ´Microsoft OLE DB Provider for SQL Server´ não vai conectar, pelomenos na hospedagem que tenho banco SQL não conseguimos conectar, ai usei ´SQL Native Cliente´ e ficou 100¬ inclusive achei que ficou bem rápida a conexão.
Se quiser conectar o banco via rede ´LAN´ usa o provider ´Microsoft OLE DB Provider for SQL Server´ que ele funciona 100¬.
Já com o DbExpress não consegui de jeito nenhum uma solução para conectar um banco externo (internet).
Fica ai minha solução, se alguém estiver com dificuldades talvez possa ajudar.
Seguinte: Pra quem usa conexão ADO e não está conseguindo conectar com o SQL Server 2005, tem que usar o provider ´SQL Native Cliente´ para uma conexão externa, ou seja conectar um banco na internet ou em um provedor, pois o Provider ´Microsoft OLE DB Provider for SQL Server´ não vai conectar, pelomenos na hospedagem que tenho banco SQL não conseguimos conectar, ai usei ´SQL Native Cliente´ e ficou 100¬ inclusive achei que ficou bem rápida a conexão.
Se quiser conectar o banco via rede ´LAN´ usa o provider ´Microsoft OLE DB Provider for SQL Server´ que ele funciona 100¬.
Já com o DbExpress não consegui de jeito nenhum uma solução para conectar um banco externo (internet).
Fica ai minha solução, se alguém estiver com dificuldades talvez possa ajudar.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)