Clipper On Line • Ver Tópico - conexao com bd mysql nas nuvens

conexao com bd mysql nas nuvens

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

conexao com bd mysql nas nuvens

Mensagempor bfinformatica » 11 Abr 2017 23:02

Prezados, preciso disponibilizar meu bd mysql localhost em um servidor nas nuvens para acesso das filiais
e não estou conseguindo fazer rodar.

Alguém poderia me ajudar postando um exemplo de conexão.....

gratidão
Edison
bfinformatica
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 21 Mar 2017 20:57
Cidade/Estado: toledo pr
Curtiu: 0 vez
Mens.Curtidas: 0 vez

conexao com bd mysql nas nuvens

Mensagempor fladimir » 12 Abr 2017 00:47

Não entendi Edison... ou melhor o q entendi é q vc tem um BD em MySQL localhost q já acessa etc... e agora quer colocar na nuvem e acessar é isso? Se sim primeiramente é upar para o Servidor da hospedagem e eles irão fornecer as informações de usuário e URL de conexão, exemplo usuário: root
Senha: vcdefinecomeles
URL Conexao com o Banco (endereço do banco):
mysql.dominiotaltal.com.br
Porta geralmente q eu saiba é a padrão 3306

Ai vc substitui na nos dados da tua conexão local por remota, onde esta localhost (127.0.0.1) coloca a URL (endereço do teu banco) etc

Seria essa sua dúvida ou entendi errado?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

conexao com bd mysql nas nuvens

Mensagempor Vlademiro » 12 Abr 2017 10:16

Supondo que o banco está em um computador dentro da empresa e que esse computador será acessado de fora da organização, basta configurar o MySql para receber conexões externas. Para fazer isso a forma mais fácil (na minha opinião) é através do phpMyAdmin. Lá você pode criar um usuário associado ao banco de dados e habilitar esse usuário a se conectar remotamente. Se não me engano a sintaxe seria assim :

usuario@ENDEREÇO IP

O link a seguir tem um tutorial detalhado : https://www.vivaolinux.com.br/dica/Configurando-acesso-remoto-em-servidores-MySQL

Se é isso que você quer, então tem que configurar a segurança do servidor. O ideal é um servidor com o mínimo de serviços rodando.

Pode ser também que você queira alugar um serviço e instalar o mysql nele. Nesse caso eu recomendo a Amazon : https://aws.amazon.com/pt/rds/mysql/

Caso você queira testar a Amazon tem uma opção que você não paga nada, mas tem que informar o cartão de crédito e se você migrar para um plano com mais recursos você será cobrado por isso.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

conexao com bd mysql nas nuvens

Mensagempor JoséQuintas » 12 Abr 2017 13:30

Vamos por partes.....

No MySQL:
Ao cadastrar o usuário, você define se poderá receber conexão local ou remota: usuario.* ou usuário.%, não lembro ao certo.
No MySQL é só isso.

Na máquina do MySQL:
Ela precisa aceitar a entrada da conexão, precisa liberar no firewall

No restante da rede:
A conexão vai entrar pelo modem/roteador. O modem/roteador precisa permitir essa conexão, e precisa direcionar à máquina aonde está o MySQL.

Lembre-se:
Se fosse simples, ou se não precisasse configurar nada, todo mundo poderia invadir qualquer rede/máquina.
Todo trajeto por onde passa a conexão MySQL pode precisar de configuração.
Se algum deles estiver bloqueando a conexão, não vai conseguir chegar ao MySQL.

Sugestões de teste:
- Primeiro teste local, ok, já fez.
- Agora teste a partir de outra máquina da rede, e ajuste configurações.
- Talvez o próximo passo já seja de rede externa

No geral a conexão usa nome do servidor, porta, usuário, senha.
Quando é local, é localhost, quando é remoto, pode ser suaempresa.no-ip.org ou outro endereço
Se usar a porta padrão assume 3306, senão tem que indicar o número.
E usuário/senha já sabe.

Quem vai receber a conexão é o modem/roteador, que vai direcionar pra máquina, que por sua vez é onde o MySQL atende.

Nota: não estranhe pouca gente lembrar disso, nem mesmo eu direito.... rs... é que a gente configura uma vez, e demora tanto pra precisar mexer que a gente esquece.... rs Temos sempre que pesquisar, ou procurar anotacões.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

conexao com bd mysql nas nuvens

Mensagempor bfinformatica » 17 Abr 2017 22:16

entendi é q vc tem um BD em MySQL localhost q já acessa etc... e agora quer colocar na nuvem e acessar é isso?

exatamente isso!

De inicio fiz o procedimento do modo que você citou. Adquiri um endereço, loguin e senha

Ocorre que via sistema da erro e não conecta.

Ja pelo utilitário Woerkbanch acesso normalmente.

Estou com dificuldade de fazer a chamada do banco.
bfinformatica
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 21 Mar 2017 20:57
Cidade/Estado: toledo pr
Curtiu: 0 vez
Mens.Curtidas: 0 vez

conexao com bd mysql nas nuvens

Mensagempor fladimir » 17 Abr 2017 23:11

Poste como vc esta fazendo (código), logicamente troque conteúdo de usuário, URL e senha, apenas o código em si pra auxiliarmos.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

conexao com bd mysql nas nuvens

Mensagempor JoséQuintas » 18 Abr 2017 01:56

Adquiri um endereço, loguin e senha


Por padrão, o MySql dos sites de hospedagem liberam acesso apenas pelos sites.
Liberou pra acesso "externo" ao site?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

conexao com bd mysql nas nuvens

Mensagempor bfinformatica » 18 Abr 2017 23:07

as bibliotecas

#include 'minigui.ch'
#include 'adodb.ch'
#include 'xhb.ch'
*_______________________________________________________________________________
function Main()

........

Inicio da conexão com banco
*_______________________________________________________________________________
function conecta_bd()

         local web_server, web_database, web_user, web_password
         local local_server, local_database, local_user, local_password

*             WEB

         web_server   := ''
         web_database := ''
         web_user     := ''
         web_password := ''

*             LOCAL

         local_server   := ''
         local_database := ''
         local_user     := ''
         local_password := ''

       public oServer

       if alltrim(v_dbuser) == 'root'
          local_password := '123'
              web_password := 'senha112345@'
       else
          v_trede        := 'S'
          local_password := 'wiesen'
              web_password := 'senha112345@'
       endif

          local_database := 'db_sisfin'
            web_database := 'edisonnabilecom_db' // alltrim(setup->cl_banco)

         /*
             WEB
          */
            TRY
                 cnWEB := MySqlConnection(web_server,3306,web_database,web_user,web_password)

               cnWEB:Open()
               flagWEB := .T.

               setproperty('form_main','label_nome_usuario','value','CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})

                criar_tabelas( 'cnWEB' )

            CATCH e
               setproperty('form_main','label_nome_usuario','value','NAO CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})
               flagWEB := .F.
            END

         /*
             LOCAL
          */
            TRY

                cnLOCAL := MySqlConnection(local_server,3306,local_database,local_user,local_password)

              cnLOCAL:Open()
               flagLOCAL := .T.

               setproperty('form_main','label_nome_usuario','value','CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})

               criar_tabelas( 'cnLOCAL' )
            CATCH e
               setproperty('form_main','label_nome_usuario','value','NAO CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})
               flagLOCAL := .F.
            END

         return(nil)
*-------------------------------------------------------------------------------
function MySqlConnection( cServer, nPort, cDatabase, cUser, cPassword )

            local cnConnection

            cnConnection := win_OleCreateObject("ADODB.Connection")

         cnConnection:ConnectionString := "Driver={MySQL ODBC 3.51 Driver};Server=" + cServer + ";" + "Port=" + Ltrim( Str( nPort ) ) + ;
                  ";Stmt=;Database=" + cDatabase + ";User ID=" + cUser + ";Password=" + cPassword + ";Collation=latin1;UseCompression;"

            cnConnection:CommandTimeOut    := 120 //seconds
            cnConnection:ConnectionTimeOut := 120 //seconds

   return cnConnection

*-------------------------------------------------------------------------------
Nota de Moderação:
Toledo: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
bfinformatica
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 21 Mar 2017 20:57
Cidade/Estado: toledo pr
Curtiu: 0 vez
Mens.Curtidas: 0 vez

conexao com bd mysql nas nuvens

Mensagempor Toledo » 03 Mai 2017 08:15

Segue função que eu utilizo para conectar ao meu servidor na web:

#xcommand TRY              => BEGIN SEQUENCE WITH {|__o| break(__o) }
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#xcommand FINALLY          => ALWAYS
**************************************************************
function ConectaADO()
Local lConnect := .f.
Local cStr:= "Server=meusql.pctoledo.com.br;Driver={MySQL ODBC 3.51 Driver};dsn=;User=toledox;pwd=xxx000;database=toledo01;"
//User e pwd tem que estar cadastrado no servidor para ter permissao para acessar o BD (database)

oConx := TOleAuto():New("ADODB.Connection")
oConx:ConnectionString := cStr

TRY
   oConx:Open()
   lConnect := .T.
CATCH
   oConx := Nil
   Return .F.
END
//funcao retorna .T. (conectou) ou .F. (falha)
Return lConnect


Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro