Clipper On Line • Ver Tópico - Instalando e configurando o MySQL para Harbour

Instalando e configurando o MySQL para Harbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 02 Mai 2014 23:52

Neste tutorial vou passar como instalar e configurar o MySQL Server e o MySQL Connector/ODBC para trabalhar junto com o Harbour (Harbour/MiniGui/HwGui,etc).

Parte 1 - Instalando o MySQL


Antes de mais nada devemos copiar o MySQL, para isto entre no seguinte endereço:

MySQL 5.5 (vou usar esta versão, pois o SO do computador onde vou instalar não aceita uma versão mais recente)
http://dev.mysql.com/downloads/mysql/5.5.html#downloads

MySQL 5.6:
http://dev.mysql.com/downloads/installer/

Imagem
Baixe o arquivo de acordo com o seu Sistema Operacional, de preferência no formato MSI.

Imagem
No final da página, clique na opção "No thanks, just start my download"

Imagem
Clique no botão download.

Imagem
Para iniciar a instalação, dê um clique duplo no arquivo mysql-5.5.37-win32.msi.

Imagem
Nesta primeira tela clique no botão Next.

Imagem
Marque a opção "I accept the terms in the License Agreement" e clique no botão Next.

Imagem
Escolha a opção Custom.

Imagem
Deixe a configuração padrão e clique no botão Next.

Imagem
Clique no botão Install.

Imagem
Clique no botão Next.

Imagem
Novamente clique no botão Next.

Imagem
Marque a opção "Launch the MySQL Instance Configuration Wizard" e clique no botão Finish.

Continua na próxima mensagem...
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 03 Mai 2014 00:34

Parte 2 - Configurando o MySQL


Imagem
Nesta tela inicial de configuração do MySQL clique no botão Next.

Imagem
Escolha a opção "Detailed Configuration" e clique no botão Next.

Imagem
Escolha a opção "Developer Machine" e clique no botão Next.

Imagem
Escolha a opção "Multifunctional Database" e clique no botão Next.

Imagem
Aqui você poderá escolher o drive e a pasta (crie a pasta previamente) onde será criado os bancos de dados do MySQL ou deixar a pasta padrão. Depois clique no botão Next.

Imagem
Escolha a opção "Decision Support (DSS)/OLAP" e clique no botão Next.

Imagem
Marque as opções "Enable TCP/IP Networking" e "Enable Strict Mode" e depois clique no botão Next.

Imagem
Escolha a opção "Best Support For Multilingualism" e clique no botão Next.

Imagem
Marque as opções "Install As Windows Service" e "Include Bin Directory in Windows PATH" e clique no botão Next.

Imagem
Marque a opção "modify Security Settings" e digite uma senha para conectar com o BD MySQL, depois clique no botão Next.

Imagem
Clique no botão Execute.

Imagem
Espere o processamento e a mensagem que o arquivo de configuração foi criado, ai para finalizar clique no botão Finish.

Continua na próxima mensagem...
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 03 Mai 2014 01:04

Parte 3 - Instalando o MySQL ODBC Connector


Entre no link abaixo para copiar o MySQL ODBC Connector:

http://dev.mysql.com/downloads/connector/odbc/3.51.html

Imagem
Escolha o arquivo de acordo com o seu Sistema Operacional, dê preferência para o arquivo MSI.

Imagem
No final da página, clique na opção "No thanks, just start my download"

Imagem
Após o download, execute o arquivo mysql-connector-odbc-3.51.30-win32.msi.

Imagem
Clique no botão Next.

Imagem
Escolha a opção "I accept the terms in the license agreement" e clique no botão Next.

Imagem
Escolha a opção "Typical" e clique no botão Next.

Imagem
Clique no botão Install.

Imagem
Para finalizar a instalação, clique no botão Finish.

Continua na próxima mensagem...
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 03 Mai 2014 01:39

Parte 4 - Criando uma conexão ODBC


Agora que já instalamos o MySQL Server e também o MySQL ODBC Connector, temos que criar uma conexão ODBC que vai servir para conectar o Harbour com o MySQL. Os passos abaixo para criação da conexão foi com base no Windows XP Service Pack 2.

Clique no botão Iniciar do Windows e escolha o "Painel de Controle".

Imagem
Entre em "Ferramentas administrativas".

Imagem
Depois em "Fontes de dados (ODBC)"

Imagem
Clique no botão Adicionar...

Imagem
Na lista de driver escolha "MySQL ODBC 3.51 Driver" e clique no botão Concluir.

Imagem
Informe todos os campos conforme este modelo. No campo "Password" digite a senha de acesso ao MySQL (informada na Parte 2 deste tutorial) e no campo "Database" escolha o banco de dados test.
Depois para verificar se a conexão está correta clique no botão Test.

Imagem
Se tudo estiver ok será mostrada esta mensagem.

Depois clique no botão OK da mensagem acima e clique novamente no botão OK para finalizar a configuração.

Imagem
Observe que o MySQL ODBC 3.51 Driver já aparece na lista de Fontes de dados.

Clique no botão OK para fechar o Administrador de Fonte de dados ODBC.

Pronto! O MySQL Server e o MySQL ODBC já estão instalados e configurados.
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 03 Mai 2014 01:52

Parte 5 - Compilando um programa demo


Bom, tudo já está instalado e configurado, então agora é hora de compilar um programa demo para testar o MySQL.

Arquivo: demo.prg
/*********************************************
* compilar: hbmk2 demo.prg rddsql.hbc sddodbc.hbc
*********************************************/
#include "dbinfo.ch"

#define RDDI_CONNECT          1001
#define RDDI_DISCONNECT       1002
#define RDDI_EXECUTE          1003

ANNOUNCE RDDSYS
REQUEST SQLMIX, SDDODBC

**********************************************
Function Main()
LOCAL nConnection

RDDSETDEFAULT( "SQLMIX" )

SetMode(25,80)

nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 3.51 Driver};dsn=;User=root;pwd=suasenha;database=test;" } )
IF nConnection == 0
  Alert("Erro na conexao com o servidor")
  Return nil
ENDIF

If CriaTabela()
  DBUSEAREA( .T.,, "SELECT * FROM clientes", "clientes" )
  INDEX ON FIELD->CODIGO TAG codigo TO clientes
  GO TOP
Else
  Return nil
EndIf

/* Todos os registros */
Browse()

/* Apenas SEXO=F */
DBUSEAREA( .T.,, "SELECT * FROM clientes WHERE SEXO='F'", "mulheres" )
INDEX ON FIELD->CODIGO TAG codigo TO mulheres
GO TOP

Browse()

DBCLOSEALL()
Return nil

**********************************************
Function CriaTabela()
Local ret := .T., cQuery

cQuery:="DROP TABLE clientes"
RDDINFO(RDDI_EXECUTE, cQuery)

cQuery:="CREATE TABLE clientes ("+;
        "CODIGO char(4),"+;
        "NOME char(40),"+;
        "IDADE int(2),"+;
        "SEXO char(1))"
If RDDINFO(RDDI_EXECUTE, cQuery)
  cQuery:="INSERT INTO clientes values "+;
          "('0001','PAULO CESAR TOLEDO',51,'M'),"+;
          "('0002','ABDIAS JOSE DE BARROS',30,'M'),"+;
          "('0003','ADRIANA DE JESUS LEAO',22,'F'),"+;
          "('0004','JOYCE LACERDA MARIM',18,'F'),"+;
          "('0005','JUAN HENRIQUE PEREIRA',35,'M'),"+;
          "('0006','JULIANO TETSUO KOGA',40,'M'),"+;
          "('0007','MABILE VALE NEVES',29,'F'),"+;
          "('0008','MACIEL DOS SANTOS',37,'M'),"+;
          "('0009','SABRINA ALMEIDA ALEXANDRE',45,'F'),"+;
          "('0010','YAGO LEITE QUEIROZ',53,'M')"
  If !RDDINFO(RDDI_EXECUTE, cQuery)
    Alert("Erro ao incluir registros na tabela Clientes")
    ret := .F.
  EndIf
Else
  Alert("Erro ao criar a tabela Clientes")
  ret := .F.
EndIf
Return ret

Atenção: na linha 21 do código acima, procure por suasenha e troque pela senha que você colocou na instalação do MySQL.

Para compilar o código acima, digite:

hbmk2 demo.prg rddsql.hbc sddodbc.hbc

Se tudo estiver certo, na hora que o demo.exe for executado, será apresentado um browse com os registros da tabela CLIENTES que foi criada no banco de dados TEST do seu MySQL.

O primeiro browse vai mostrar todos os registros, quando você pressionar ESC para sair do browse será apresentado um segundo browse apenas com os registros de SEXO='F'.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 03 Mai 2014 02:50

Parte 6 - Programa para gerenciar os bancos de dados


Uma ótima ferramenta para dar manutenção nos bancos de dados MySQL é o HeidiSQL:

http://www.heidisql.com/download.php

Imagem
Clique no botão Installer.

Imagem
Clique no botão download.

Imagem
Para instalar o programa execute o arquivo HeidiSQL_8.3.0.4694_Setup.exe.

Imagem
Clique no botão Next.

Imagem
Escolha a opção "I accept the agreement" e clique no botão Next.

Imagem
Clique no botão Next

Imagem
Clique no botão Next

Imagem
Marque as opções que desejar e clique no botão Next

Imagem
Clique no botão Install.

Imagem
Deixe apenas selecionado "Launch HeidiSQL" e clique no botão Finish

Imagem
Clique no botão Nova.

Imagem
Dê um nome para a sessão e configure os campos conforme este modelo. No campo Senha informe a senha do MySQL.
Depois clique no botão Salvar e Abrir.

Imagem
Clique no botãozinho com sinal de + que está no banco de dados test e depois selecione a tabela clientes. Para ver os registros desta tabela, clique na aba Dados.

Ufa! Terminei... espero que seja útil para todos.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor alxsts » 03 Mai 2014 03:46

Olá!

Parabéns Toledo! Show de bola! Arrebentou mesmo. Obrigado por compartilhar.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2190
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 13 vezes
Mens.Curtidas: 151 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor fladimir » 03 Mai 2014 11:52

Ótimo, muito bem explicado, agradecemos.

[]´s
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”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor cjp » 05 Mai 2014 01:43

Perfeito, Toledo. Meus parabéns. O seu tutorial está muitíssimo bem explicado, claro, preciso, perfeito. E o melhor de tudo: funcionou perfeitamente, sem qualquer problema. Muito obrigado.

Finalmente posso começar a usar o SQL.

Apenas algumas dúvidas iniciais:

1) Vi que ele não cria fisicamente o arquivo de dados no HD, estou certo? Pelo menos aqui eu não achei. Como funciona isso? Como eu posso, por exemplo, salvar um backup da base de dados?

2) Como fazer para criar a base de dados no meu FTP, em outro lugar qualquer na internet, de forma que ela possa ser acessada por vários usuários que não estejam em rede?

3) Como importar dados de uma base de dados comum (.DBF) para a base SQL?
Inacio de Carvalho Neto
cjp
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 969
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 9 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor ANDRIL » 05 Mai 2014 09:51

Toledo, Parabéns pelas informações como sempre de grande ajuda a todos aqui do fórum. Agradecemos imensamente seu esforço e dedicação.

Grato.
Clipper 5.2e / Blinker 5.1
Harbour 3.0 e 3.2
------------------------
Visitem http://www.nsi-sp.com
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1062
Data de registro: 06 Jul 2004 00:44
Curtiu: 9 vezes
Mens.Curtidas: 29 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 05 Mai 2014 11:18

cjp escreveu:1) Vi que ele não cria fisicamente o arquivo de dados no HD, estou certo? Pelo menos aqui eu não achei. Como funciona isso? Como eu posso, por exemplo, salvar um backup da base de dados?

Não, você não está certo. Os arquivos de dados são criados em uma pasta padrão na configuração do MySQL. Eu acabei esquecendo deste detalhe, mas já corrigi o tutorial (imagem 5 da Parte 2 - Configurando o MySQL).

Para ver qual é a pasta onde os arquivos de dados estão sendo gravados, entre na pasta C:\Arquivos de programas\MySQL\MySQL Server 5.5\ e procure pelo arquivo my.ini. Neste arquivo procure por datadir, que é onde está configurado a pasta onde os bancos de dados são gravados.

Bom, como o seu MySQL já está configurado, então se deseja alterar esta pasta onde os bancos de dados são gravados, faça o seguinte:

1 - Anote qual é a pasta indicada no datadir do arquivo my.ini e feche o arquivo (my.ini).
2 - Crie a nova pasta onde os bancos de dados serão gravados.
3 - Entre na pasta que você anotou no passo 1 acima e copie todos os arquivos e subpastas que existe nesta pasta para a nova pasta criada no passo 2.
4 - Depois execute o arquivo MySQLInstanceConfig.exe que está na pasta C:\Arquivos de programas\MySQL\MySQL Server 5.5\bin. Siga o mesmo passos que estão na Parte 2 (Configurando o MySQL) do tutorial deste tópico, até chegar na tela seguinte:

Imagem
Clique no botão Modify.

Imagem
Clique no botão Yes.

Imagem
Nesta tela indique o drive e a nova pasta onde os bancos de dados serão gravados. Para selecionar a pasta, clique no botão que tem 3 pontos. Depois clique no botão Next.

Siga os mesmos passos do tutorial até a tela seguinte:

Imagem
Nesta tela informe nos 3 campos a senha no MySQL, clique no botão Next e siga o restante dos passos Parte 2 do tutorial.

cjp escreveu:2) Como fazer para criar a base de dados no meu FTP, em outro lugar qualquer na internet, de forma que ela possa ser acessada por vários usuários que não estejam em rede?

Verifique se no seu Servidor (FTP) tem opção para criar banco de dados MySQL e qual é o endereço para conexão com o banco de dados. Geralmente os servidores disponibiliza um IP para conexão com o BD.

Agora, no arquivo demo.prg (Parte 5 do tutorial) procure por Server=localhost; e altere localhost pelo endereço de IP do seu servidor MySQL.

cjp escreveu:3) Como importar dados de uma base de dados comum (.DBF) para a base SQL?

Procure no Google por dbftomysql que você vai encontrar vários programas que fazem isto, ou veja o arquivo dbf2mysq.prg que está na pasta \contrib\hbmysql\tests do seu Harbour.

Atenção: qualquer dúvida técnica de programação, procure um tópico sobre o assunto ou crie um novo tópico na seção Harbour ou Banco de dados aqui do fórum. Neste tópico apenas dúvidas sobre o tutorial.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor cjp » 13 Jun 2014 17:31

Toledo,

Estou testando este mesmo tutorial em outra máquina, no meu trabalho, mas não está dando certo.

Já tinha testado instalar apenas o ODBC. O teste dá Connection Sucessful, mas pelo demo não conecta.

Testei agora instalar todo o tutorial. Da mesma forma, o teste dá Connection Sucessful no ODBC, mas pelo demo do Harbour não conecta.

Descobri no fórum um outro demo pra essa conexão (viewtopic.php?f=4&t=11245), testei com ele também. Também não conecta. Tá dando o seguinte erro na conexão: "Unable connect to server O IM002 [Microsoft] [ODBC Drive Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado".

Será que esqueci de alguma coisa?
Inacio de Carvalho Neto
cjp
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 969
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 9 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 13 Jun 2014 18:39

cjp escreveu:Descobri no fórum um outro demo pra essa conexão (viewtopic.php?f=4&t=11245), testei com ele também. Também não conecta.

Inácio, a mensagem de erro que você postou ocorre no demo que eu postei ou neste outro demo que você encontrou aqui no fórum?

Poste aqui a linha TODA do comando que você está fazendo a conexão (nConnection := RDDINFO( RDDI_CONNECT, { "ODBC",....) e informe em qual dos demos você está testando.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Instalando e configurando o MySQL para Harbour

Mensagempor cjp » 13 Jun 2014 19:03

Esta mensagem mais completa é do demo que achei no outro tópico, porque ele tem a linha de informação do erro de conexão mais completa que a do teu demo. Essa linha está assim:

   ? "Unable connect to server", RDDINFO( RDDI_ERRORNO ), RDDINFO( RDDI_ERROR )


Já no teu demo está apenas:

 Alert("Erro na conexao com o servidor")


Mas creio que é a mesmo coisa, só com uma informação adicional.

A linha de conexão está assim nos dois:

nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", "Server=mysql.xxx.com.br;Driver={MySQL ODBC 3.51 Driver};dsn=;User=xxx;pwd=xxx;database=xxx;" } )


O que eu estranho é que o teste no ODBC está dando Connection Sucessful, mas mesmo assim não conecta via Harbour. Por que será?
Inacio de Carvalho Neto
cjp
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 969
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 9 vezes

Instalando e configurando o MySQL para Harbour

Mensagempor Toledo » 14 Jun 2014 09:45

Inácio, na conexão via ODBC é fundamental que o Driver usado no seu programa Harbour seja o mesmo instalado no Windows.
Neste seu demo você está usando Driver={MySQL ODBC 3.51 Driver};, então o driver MySQL ODBC 3.51 Driver tem que estar instalado lá no Administrador de fonte de dados ODBC, conforme mostra imagem abaixo:
Imagem

Na sua mensagem anterior você fez um teste com um outro demo, e olhando o código fonte notei que o driver é outro Driver={MySQL ODBC 5.1 Driver};, então resta saber qual é o driver que você tem instalado e qual o driver que você está usando no seu programa Harbour.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

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

Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro