Página 1 de 5

Instalando e configurando o MySQL para Harbour

Enviado: 02 Mai 2014 23:52
por Toledo
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...

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 00:34
por Toledo
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...

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 01:04
por Toledo
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...

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 01:39
por Toledo
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.

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 01:52
por Toledo
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

Código: Selecionar todos

/*********************************************
* 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,

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 02:50
por Toledo
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,

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 03:46
por alxsts
Olá!

Parabéns Toledo! Show de bola! Arrebentou mesmo. Obrigado por compartilhar.

Instalando e configurando o MySQL para Harbour

Enviado: 03 Mai 2014 11:52
por fladimir
Ótimo, muito bem explicado, agradecemos.

[]´s

Instalando e configurando o MySQL para Harbour

Enviado: 05 Mai 2014 01:43
por cjp
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?

Instalando e configurando o MySQL para Harbour

Enviado: 05 Mai 2014 09:51
por ANDRIL
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.

Instalando e configurando o MySQL para Harbour

Enviado: 05 Mai 2014 11:18
por Toledo
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,

Instalando e configurando o MySQL para Harbour

Enviado: 13 Jun 2014 17:31
por cjp
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?

Instalando e configurando o MySQL para Harbour

Enviado: 13 Jun 2014 18:39
por Toledo
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,

Instalando e configurando o MySQL para Harbour

Enviado: 13 Jun 2014 19:03
por cjp
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:

Código: Selecionar todos

   ? "Unable connect to server", RDDINFO( RDDI_ERRORNO ), RDDINFO( RDDI_ERROR )
Já no teu demo está apenas:

Código: Selecionar todos

 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:

Código: Selecionar todos

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á?

Instalando e configurando o MySQL para Harbour

Enviado: 14 Jun 2014 09:45
por Toledo
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,