SISTEMA ACESSANDO BANCO WEB

JESUEL.OLIVEIRA 23/04/2011 21:26:34
#372286
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
   
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.
KURTGU 23/04/2011 22:47:26
#372288
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.......
AQUILESBRUM 24/04/2011 11:54:33
#372307
Olá Pessoal,

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;[Ô]  


AQUILESBRUM 24/04/2011 20:10:00
#372318
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
ADRIANOM 24/04/2011 20:26:43
#372319
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???
AQUILESBRUM 25/04/2011 11:53:21
#372348
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.
ADRIANOM 25/04/2011 16:54:42
#372390
E alguém sabe de um host para Firebird... pq não entendo nada de MySQL .. Acho o Firebird muito simples!!!
XXXANGELSXXX 26/04/2011 10:04:29
#372454
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
MSMJUDAS 26/04/2011 14:32:14
#372491
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.
XXXANGELSXXX 26/04/2011 15:09:10
#372497
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.
Página 2 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas