FIREBIRD TESTAR CONEXAO
Olá!
Como meu tópico anterior ficou flutuando sem resposta, o exclui e tento remodelar a minha dúvida.
Construà um form onde irá definir o diretório que se encontra o meu banco de dados DADOS.FDB
O meu cliente poderá escolher dois tipos de conexões: Servidor e Estação.
No caso de escolha de Servidor a conexão ficará definida assim: 127.0.0.1:D:\Visual Basic\Projeto\Dados.fdb
No caso de escolha de Estação a conexão ficará definida assim: 192.168.0.100:D:\Visual Basic\Projeto\Dados.fdb
Isso será salvo em um INI.
Só que antes de confirmar a localização do banco de dados, gostaria de efetuar um teste de localização para ter certeza da comunicação com o banco sem problemas....
Ae no fórum, pesquisei e achei este código do meu amigo TECLA....justamente com o que desejo...
O que acontece, é que não utilizo o esquema de conexão como o sugerido no código....
o jeito que conecto ao banco de dados é o seguinte:
Tentei alterar para testar deste jeito e fica dando erro.... Outra coisa....
Não estou entendendo... alguém pode me ajudar... caso tenham outra função pode ser tb... mas quero que realize um teste de conexão rápida e avise o usuário que está ok...
Abraços...
Como meu tópico anterior ficou flutuando sem resposta, o exclui e tento remodelar a minha dúvida.
Construà um form onde irá definir o diretório que se encontra o meu banco de dados DADOS.FDB
O meu cliente poderá escolher dois tipos de conexões: Servidor e Estação.
No caso de escolha de Servidor a conexão ficará definida assim: 127.0.0.1:D:\Visual Basic\Projeto\Dados.fdb
No caso de escolha de Estação a conexão ficará definida assim: 192.168.0.100:D:\Visual Basic\Projeto\Dados.fdb
Isso será salvo em um INI.
Só que antes de confirmar a localização do banco de dados, gostaria de efetuar um teste de localização para ter certeza da comunicação com o banco sem problemas....
Ae no fórum, pesquisei e achei este código do meu amigo TECLA....justamente com o que desejo...
# Função
Public Function TestarConexao(Path As String) As Boolean
Dim CAMINHO As String
[ô]-------------------------
[ô]Testar conexão com o Path
[ô]-------------------------
On Error GoTo erro
Dim con2 As ADODB.Connection
Set con2 = New ADODB.Connection
DoEvents
con2.ConnectionTimeout = 10
[ô] txtCaminho.text = 127.0.0.1:D:\Visual Basic\Projeto\Dados.fdb
CAMINHO = txtCaminho.text
con2.Open [Ô]Driver=Firebird/InterBase(r) driver;[Ô] & _
[Ô]Uid=SYSDBA;[Ô] & _
[Ô]Pwd=masterkey;[Ô] & _
[Ô]DbName=[Ô] & Path
con2.Close
Set con2 = Nothing
TestarConexao = True
Exit Function
erro:
TestarConexao = False
End Function
# Chamada
If TestarConexao([Ô]C:\Sys\Base.FDB[Ô]) = True Then
MsgBox [Ô]Conexão estabelecida com sucesso[Ô], , [Ô]Sys[Ô]
Else
MsgBox [Ô]Ocorreu um erro ao tentar se comunicar com base de dados Firebird.[Ô], , [Ô]Sys[Ô]
End If
O que acontece, é que não utilizo o esquema de conexão como o sugerido no código....
con2.Open [Ô]Driver=Firebird/InterBase(r) driver;[Ô] & _
[Ô]Uid=SYSDBA;[Ô] & _
[Ô]Pwd=masterkey;[Ô] & _
[Ô]DbName=[Ô] & Path
o jeito que conecto ao banco de dados é o seguinte:
[ô] txtCaminho.text = 127.0.0.1:D:\Visual Basic\Projeto\Dados.fdb
CAMINHO = txtCaminho.text
CONEXAO = [Ô]Provider=SIBPROvider.2; SIB:Character Set =WIN1252; Data Source=[Ô] & CAMINHO & [Ô];User ID=[Ô] & [Ô]SYSDBA[Ô] & [Ô];Password=[Ô] & [Ô]masterkey[Ô]
Tentei alterar para testar deste jeito e fica dando erro.... Outra coisa....
# Chamada
If TestarConexao(CAMINHO) = True Then
MsgBox [Ô]Conexão estabelecida com sucesso[Ô], , [Ô]Sys[Ô]
Else
MsgBox [Ô]Ocorreu um erro ao tentar se comunicar com base de dados Firebird.[Ô], , [Ô]Sys[Ô]
End If
Não estou entendendo... alguém pode me ajudar... caso tenham outra função pode ser tb... mas quero que realize um teste de conexão rápida e avise o usuário que está ok...
Abraços...
Qual é a descrição do erro?
Poste a sua rotina pós-alteração.
Poste a sua rotina pós-alteração.
Amigo TECLA.. agradeço ajuda... mas o seu código está correto.. é o doidão aqui que fez a modificação errada...
Agradeço..a iniciativa...
Posto o código escrito a 6 meses atras pelo TECLA e modificado para meu uso....
Agradeço..a iniciativa...
Posto o código escrito a 6 meses atras pelo TECLA e modificado para meu uso....
[ô]Crédito ao VBManÃaco TECLA
Option Explicit
Dim CONEXAO As String
Dim CAMINHO As String
Dim CNN As ADODB.Connection
Public Function TestarConexao(CAMINHO As String) As Boolean
[ô]-------------------------
[ô]Testar conexão com o Path
[ô]-------------------------
On Error GoTo erro
Set CNN = New ADODB.Connection
DoEvents
CAMINHO = txtCaminho.Text [ô] caminho com o banco de dados também
CONEXAO = [Ô]Provider=SIBPROvider.2; SIB:Character Set =WIN1252; Data Source=[Ô] & CAMINHO & [Ô];User ID=[Ô] & [Ô]SYSDBA[Ô] & [Ô];Password=[Ô] & [Ô]masterkey[Ô]
CNN.ConnectionTimeout = 10
CNN.Open CONEXAO
CNN.CursorLocation = adUseClient
CNN.Close
Set CNN = Nothing
TestarConexao = True
Exit Function
erro:
TestarConexao = False
End Function
Private Sub cmdTestar_Click()
If TestarConexao(CAMINHO) = True Then
MsgBox [Ô]Conexão estabelecida com sucesso![Ô], vbInformation, [Ô]Banco de Dados[Ô]
Else
MsgBox [Ô]Não foi possÃvel estabelecer conexão.[Ô], vbCritical, [Ô]Banco de Dados[Ô]
End If
End Sub
OK.
Se o problema foi resolvido, não esqueça de encerrar o tópico.
Se o problema foi resolvido, não esqueça de encerrar o tópico.
Tópico encerrado , respostas não são mais permitidas