SISTEMA ACESSANDO BANCO WEB
Olá, Amigos,
Eu utilizo uma solução VB6 + MYSQL - Banco WEB (HOMEHOST)
Crie um arquivo INI na pasta do programa
mysql.ini
[MySQL_Connect]
SERVIDOR=localhost (aqui vc define onde será a conexão remoto local)
PORTA=3306
USUARIO=root
SENHA=xxx
BASEDEDADOS=base
Módulo BAS
Deste modo conecta ao banco na internet, ai você manipula os dos igual localmente. amigo, uma dica o servidor da HOMEHOST é LINUX coloque o nome das tabelas na SELECT em letra minuscula pois dará erro se for maiuscula.
Amigos, eu sei da dificuldade eu tive que mudar uma aplicação de access para mysql e rodar uma massa de dados alta então uso o mysql localmente para testar ai só mudo o servidor para net. no exemplo tem o arquivo INI que ajuda muito pois no cliente vc não precisa mudar nada.
Mais uma coisa instala o DRIVERS ODBC pois não conecta sem isso.
Eu utilizo uma solução VB6 + MYSQL - Banco WEB (HOMEHOST)
Crie um arquivo INI na pasta do programa
mysql.ini
[MySQL_Connect]
SERVIDOR=localhost (aqui vc define onde será a conexão remoto local)
PORTA=3306
USUARIO=root
SENHA=xxx
BASEDEDADOS=base
Módulo BAS
Private Declare Function GetPrivateProfileString Lib [Ô]kernel32[Ô] Alias [Ô]GetPrivateProfileStringA[Ô] (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public CONN As New ADODB.Connection
Public SERVIDOR, PORTA, USUARIO, SENHA, BASE As String
Function GetIni(setor As String, chave As String, warq As String) As String
Dim wval As String
Dim rr As Integer
wval = String$(255, 0)
rr = GetPrivateProfileString(setor, chave, [Ô][Ô], wval, Len(wval), warq)
GetIni = [Ô][Ô]
If rr <> 0 Then GetIni = Left(wval, InStr(wval, Chr(0)) - 1)
End Function
Sub Conexao_Conectar_Banco()
On Error GoTo Rotina_Erro
SERVIDOR = GetIni([Ô]MySQL_Connect[Ô], [Ô]SERVIDOR[Ô], App.Path & [Ô]\MySQL.ini[Ô])
PORTA = GetIni([Ô]MySQL_Connect[Ô], [Ô]PORTA[Ô], App.Path & [Ô]\MySQL.ini[Ô])
USUARIO = GetIni([Ô]MySQL_Connect[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\MySQL.ini[Ô])
SENHA = GetIni([Ô]MySQL_Connect[Ô], [Ô]SENHA[Ô], App.Path & [Ô]\MySQL.ini[Ô])
BASE = GetIni([Ô]MySQL_Connect[Ô], [Ô]BASEDEDADOS[Ô], App.Path & [Ô]\MySQL.ini[Ô])
USUARIO = [Ô]root[Ô]
BASE = [Ô]banco[Ô]
SERVIDOR = [Ô]200.200.200.200[Ô]
SENHA = [Ô]xxxx[Ô]
If CONN.State = 1 Then CONN.Close
CONN.Open [Ô]Driver={MySQL ODBC 5.1 Driver};Server=[Ô] & SERVIDOR & [Ô];Port=[Ô] & 3306 & [Ô];Database=[Ô] & BASE & [Ô];User=[Ô] & USUARIO & [Ô];Password=[Ô] & SENHA & [Ô];Option=3;[Ô]
Exit Sub
Rotina_Erro:
If Err.Number = 3705 Then
End If
If Err.Number = -2147467259 Then
If MsgBox([Ô]Não foi possÃvel acessar os dados remotamente![Ô] & vbCrLf & vbCrLf & [Ô]Deseja tentar reconectar ao servidor de dados?[Ô] & vbCrLf & vbCrLf & [Ô]Verifique a conexão com a INTERNET![Ô], vbCritical + vbYesNo, [Ô]Verifique[Ô]) = vbYes Then
Call Conexao_Conectar_Banco
Else
End
End If
End If
End Sub
Deste modo conecta ao banco na internet, ai você manipula os dos igual localmente. amigo, uma dica o servidor da HOMEHOST é LINUX coloque o nome das tabelas na SELECT em letra minuscula pois dará erro se for maiuscula.
Amigos, eu sei da dificuldade eu tive que mudar uma aplicação de access para mysql e rodar uma massa de dados alta então uso o mysql localmente para testar ai só mudo o servidor para net. no exemplo tem o arquivo INI que ajuda muito pois no cliente vc não precisa mudar nada.
Mais uma coisa instala o DRIVERS ODBC pois não conecta sem isso.
a melhor coisa antes mesmo de alugar um servidor mysql e gastar dinheiro, ARRUME UM DE GRATISSSSSSSSSSS para voce fazer testes claro a conexao e mais lenta do que uma tartaruga e caminha a passos curtos mais assim, voce nao vai gastar e pode ultilizar o sistema de BD EM WEB, como eu sempre usei o acess, Resolvi que queria um BD ONLINE, optei pelo mysql, achei um servidor gratuito e fui testando todos os comandos possiveis INSERT,DELETE,PESQUISAR,E Assim por diante criei um sistema que ultilizava 100% Do bd na web mandei pra um amigo e vi que funcionava da maneira que eu precisava.....
conclusao ainda nao gastei nada heheheh pois tenho dois [txt-size=1]camaradas [/txt-size]que me cederam dois Servidores WEB MYSQL pois Deixar o pc 24 hora LIGADO E FODA AINda mais que uso notebook para progamar.....
Entao antes de gastar procure um HOST GRATUITO PARA FAZER TESTES VC VAI TER LENTIDAO MAIS AO MENOS VERA oque e possivel fazer com um bd online.......
conclusao ainda nao gastei nada heheheh pois tenho dois [txt-size=1]camaradas [/txt-size]que me cederam dois Servidores WEB MYSQL pois Deixar o pc 24 hora LIGADO E FODA AINda mais que uso notebook para progamar.....
Entao antes de gastar procure um HOST GRATUITO PARA FAZER TESTES VC VAI TER LENTIDAO MAIS AO MENOS VERA oque e possivel fazer com um bd online.......
Olá Pessoal,
Estou fazendo testes de conexao em um banco access hospedado na Locaweb. A string queestou usando não deu certo.
Estou fazendo testes de conexao em um banco access hospedado na Locaweb. A string queestou usando não deu certo.
cn.Open [Ô]Provider=Provider=Microsoft.Jet.OLEDB.4.0; Data Source=http://www.acesitaesporteclube.com.br//Dados//export.mdb; Initial Catalog=export.mdb; User ID=usuario; Password=senha;[Ô]
Fiz um teste com o MySQL e funcionou...Falta ainda o Access.
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public SERVIDOR, PORTA, USUARIO, SENHA, BANCO As String
Public SQL As String
Private Sub Command1_Click()
SERVIDOR = [Ô]197.48.196.243[Ô]
PORTA = [Ô][Ô]
USUARIO = [Ô]usuario[Ô]
SENHA = [Ô]senha[Ô]
BANCO = [Ô]nome_banco[Ô]
cn.Open [Ô]Driver={MySQL ODBC 5.1 Driver};Server=[Ô] & SERVIDOR & [Ô];Port=[Ô] & 3306 & [Ô];Database=[Ô] & BANCO & [Ô];User=[Ô] & USUARIO & [Ô];Password=[Ô] & SENHA & [Ô];Option=3;[Ô]
SQL = [Ô]select * from produtos[Ô]
Set rs = cn.Execute(SQL)
Do While Not rs.EOF
List1.AddItem rs.Fields([Ô]id[Ô]) & [Ô] [Ô] & rs.Fields([Ô]descricao[Ô]) & [Ô] [Ô] & rs.Fields([Ô]saldo[Ô])
rs.MoveNext
Loop
cn.Close
End Sub
Beleza,
Mas e o servidor web... quais as configurações devem ter?
Pois dependendo do servidor, ele apenas aceita acesso e não edição.. como fazÊ-lo aceitar a edição???
Mas e o servidor web... quais as configurações devem ter?
Pois dependendo do servidor, ele apenas aceita acesso e não edição.. como fazÊ-lo aceitar a edição???
Citação:Beleza,
Mas e o servidor web... quais as configurações devem ter?
Pois dependendo do servidor, ele apenas aceita acesso e não edição.. como fazÊ-lo aceitar a edição???
Bem, os testes que fiz na Locaweb funcionaram sem problemas. No proprio site tem um aplicativo MySQL que você além de criar o banco, pode-se executar comandos SQL. Testei primeiro no aplicativo o INSERT, DELETE,UPDATE...etc e depois executei no vb. Deu tudo certo.
Agora vou partir pro access.
E alguém sabe de um host para Firebird... pq não entendo nada de MySQL .. Acho o Firebird muito simples!!!
usando mysql voce consegue essa [Ô]proeza[Ô]
em um modulo
Public Conexao As ADODB.Connection
Public Function Conecta(ByVal Valor As Boolean)
On Error GoTo ErrorLine
If Valor = True Then
Set Conexao = New Connection
SERVIDOR = [Ô][Ô] & [Ô]mysql.nomeempresa.com.br[Ô]
BASEDEDADOS = [Ô][Ô] & [Ô]nomebasededados
PORTA = [Ô][Ô] & [Ô]3306[Ô]
USUARIO = [Ô][Ô] & [Ô]usuariodobanco[Ô]
SENHA = [Ô][Ô] & [Ô]senhadobanco[Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BASEDEDADOS & [Ô];[Ô] _
& [Ô]UID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]ConnectionTimeout=60[Ô] & [Ô];[Ô] _
& [Ô]OPTION=[Ô] & 1 + 2 + 8 + 32 + 2048 + 16384
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conecta True
If Conexao.State = 1 Then Conexao.Close
Set Conexao = Nothing
End If
Exit Function
ErrorLine:
MsgError
End Function
Para se conectar utilize
CONECTA TRUE
e para desconectar
CONECTA FALSE
Utilizando uma query
CONECTA TRUE
Set rs = New ADODB.Recordset
rs.Open [Ô]SELECT campo1,campo2 from tabela, Conexao, adOpenStatic, adLockBatchOptimistic
[ô]Referência a Microsoft ActiveX 2.8 Object Library
em um modulo
Public Conexao As ADODB.Connection
Public Function Conecta(ByVal Valor As Boolean)
On Error GoTo ErrorLine
If Valor = True Then
Set Conexao = New Connection
SERVIDOR = [Ô][Ô] & [Ô]mysql.nomeempresa.com.br[Ô]
BASEDEDADOS = [Ô][Ô] & [Ô]nomebasededados
PORTA = [Ô][Ô] & [Ô]3306[Ô]
USUARIO = [Ô][Ô] & [Ô]usuariodobanco[Ô]
SENHA = [Ô][Ô] & [Ô]senhadobanco[Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BASEDEDADOS & [Ô];[Ô] _
& [Ô]UID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]ConnectionTimeout=60[Ô] & [Ô];[Ô] _
& [Ô]OPTION=[Ô] & 1 + 2 + 8 + 32 + 2048 + 16384
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conecta True
If Conexao.State = 1 Then Conexao.Close
Set Conexao = Nothing
End If
Exit Function
ErrorLine:
MsgError
End Function
Para se conectar utilize
CONECTA TRUE
e para desconectar
CONECTA FALSE
Utilizando uma query
CONECTA TRUE
Set rs = New ADODB.Recordset
rs.Open [Ô]SELECT campo1,campo2 from tabela, Conexao, adOpenStatic, adLockBatchOptimistic
[ô]Referência a Microsoft ActiveX 2.8 Object Library
Não tenho muita certeza mas bancos que usam arquivos tipo .mdb, .fdb, .gdb, etc, ficam em um local próprio do servidor (/etc/ .... /var/.... /home/...) e vc tem que usar esse caminho e não colocar o endereço IP ou url do site.
veja so, como trabalho com mysql, nao sei como funciona esses outros ai, acho que seria mais facil colocar em um ftp esses bancos.. e acessar o banco via ftp.
Tópico encerrado , respostas não são mais permitidas