Clipper On Line • Ver Tópico - Instalando e configurando o MySQL para Harbour
Página 1 de 5

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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
/*********************************************
* 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

MensagemEnviado: 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

MensagemEnviado: 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

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

[]´s

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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

MensagemEnviado: 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:

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

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 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,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Jun 2014 11:42
por cjp
Compreendi, caro Toledo. De fato o outro demo está com driver diferente, não iria mesmo funcionar.

Mas não entendi o por que o teu demo não está funcionando. O driver é o mesmo. Veja:

Imagem

No teu demo a conexão está assim:

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


Não era pra funcionar?

Esclareço que fiz o teste agora num terceiro computador, um notebook Acer com o Windows 7 instalado. Neste funcionou. Vou testar novamente no computador do meu trabalho, aquele que não estava funcionando, na próxima semana.

Obrigado por enquanto.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 15 Jun 2014 11:08
por Itamar M. Lins Jr.
Muito bom, isso deveria ter sido feito a mais tempo.
Muita gente achando que somente através do SQLRDD, SQLLIB, Mediator... poderiamos acessar esses BD´s. Quando o Harbour já possuía isso desde muito tempo e não era divulgado, e quando divulgado não era com esse passo a passo, mamão com açúcar.
Podemos usar "SQLMIX" também com com PostGreSQL, MSSQL, Access, Oracle...

Saudações,
Itamar M. Lins Jr.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 30 Jul 2014 15:44
por Marcos
Parabéns pelo passo-a-passo, gostaria de tirar uma dúvida... como proceder para configurar o Servidor/Cliente ?
Tem que criar um módulo de configuração apontando o IP do servidor, como proceder ?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 31 Jul 2014 08:05
por Toledo
Desculpe Marcos, mas eu não consegui entender qual é a sua dúvida!

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 31 Jul 2014 13:59
por JoséQuintas
Minha experiência usando ADO:

- Instalar servidor MySql (aonde vai ser servidor, lógico) e liberar a porta para o MySql (default=3306)
significa também cadastrar a base de dados, cadastrar usuário e liberar admin ou usuário para acesso a partir de outra máquina e ao banco de dados - na liberação definir o que o usuário poderá fazer.
- Instalar ODBC MySql na máquina aonde vai acessar o servidor. Geralmente não é necessário liberar a porta (default=3306)

E no programa, na hora de conectar, a string de conexão vai conter os dados do servidor e do ODBC, incluindo endereço,usuário/senha/banco de dados

Se deu problema:
Confira firewall, usuário, se o usuário pode fazer o que está querendo, odbc, string de conexão, etc.
Não é automático. Se conectasse de primeira de qualquer jeito não haveria segurança nenhuma.

E criar uma conexão ODBC no Windows não é necessário, a não ser que programe pra exigir isso.
Por default a senha de administrador só acessa o MySql se for local, e de nenhuma outra máquina.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 31 Jul 2014 16:12
por Marcos
JoséQuintas, a versão que baixei é a última do MySql, instalei funcionou, mas quando reiniciei minha máquina o serviço não subiu mais, o único 2 pontos que posso relatar de diferente foi trocar o diretório do Banco de Dados conforme o tutorial aqui do fórum, mas isto não deve ser porque já voltei para o diretório original de instalação, mesmo assim o serviço não subiu, outro fato foi não marcar na instalação a opção 3306 adicionar ao firewall, fiz isto porque no tutorial está desmarcado, mas para configurar Clientes/Servidor primeiro tenho que subir o serviço do MySql.
Se puder nos dar uma ajuda, é bem vinda.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 31 Jul 2014 20:41
por JoséQuintas
Não sei se a pasta "arquivos de programas" é uma boa opção, porque é especial do Windows, e pode ter bloqueios extras.
Melhor escolher C:\MYSQL
A configuração do MySql pode ser executada depois da instalação, pra modificar o que quiser.

Aqui eu geralmente deixo uma partição para o Windows, então instalei em d:\mysql.

Nota:
A instalação do MySql é relativamente simples, mas ...
Como não dá problema, demora tanto pra precisar fazer outra instalação que a gente não lembra mais.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 01 Ago 2014 08:21
por Marcos
Desinstalei esta versão e instalei outra mais antiga e o serviço voltou a funcionar.

Obrigado.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 03 Ago 2014 11:46
por chicaomogi2014
Qual MINIGUI está usando?

Aqui segui o tutorial funcionou perfeitamente, mas na hora de compilar dá erro e diz que falta a LIBMYSQL.DLL.

Se eu pego a DLL e copio para a pasta da erro 0xc000007b e clique OK.

Estou usando a MINIGUI 2.3.7.

Consegui resolver o problema instalando o MYSQL Server 5.1 e o ODBC Connect 5.1 versão 32 bits

Antes tinha instalado o MYSQL Server 5.5 x64 e o ODBC 3.51 x64.

Parece ser problema da versão MYSQL 5.5 64 bits, usando só as versões 32 bits funcionou normal.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 09 Fev 2015 09:03
por cjp
Meus caros, estou tendo problemas para fazer a instalação do MySQL em uma nova máquina. Está dando o seguinte erro:

Imagem

Já desativei o firewall do Windows, já desinstalei o antivírus, mas mesmo assim não funciona.

Alguém me ajuda?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 09 Fev 2015 12:29
por Jairo Maia
Olá Inácio,
cjp escreveu:Já desativei o firewall do Windows, já desinstalei o antivírus, mas mesmo assim não funciona.
E em relação ao que diz a última parte da mensagem? Não é seu caso não? Já tentou fazer o que ela instrui?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 09 Fev 2015 14:31
por cjp
De fato, devia ser isso. Resolveu agora. Obrigado.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 15 Mai 2015 16:08
por Softwhouse
Boa tarde Toledo

Não consegui compilar seu exemplo, apresenta os seguintes erros:

Error: unresolved external '_HB_FUNSQLMIX' referenced from C:\....

Error: unresolved external '_HB_FUNSDDODBC' referenced from C:\....

Faltou alguma coisa ?

Obrigado

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 15 Mai 2015 20:38
por Toledo
Amigo, qual a versão do seu Harbour e como você está compilando este demo?

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 18 Mai 2015 08:22
por Softwhouse
Bom dia Toledo,

Estou usando Harbour 3.2.0dev (r150408220)

Estou compilando como indicado: Hbmk2 demo.prg rddsql.hbc sddodbc.hbc

Obrigado.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 18 Mai 2015 12:28
por JoséQuintas
Não querendo ser chato, mas se usasse ADO diretamente, já estaria usando.

Opção 1:
Instalar o ADS Local e usar ADO diretamente com DBFs.
Depois, trocando a string vai poder trabalhar com MySQL.

Opção 2:
Instalar o MySql no servidor e CONFIGURAR. Não adianta apenas instalar, tem que configurar.
Instalar o ODBC MySQL no terminal. Não precisa configurar, é só instalar.

Não é necessário criar conexão ODBC no Windows. Isso geralmente é usado por administradores de site.

No Harbour não precisa instalar nada, é só usar a hbwin que faz parte do Harbour.

Deste modo funciona desde o Harbour 0.99, e ADO funciona há mais de 10 anos.

Não é open source?
Ué, usá-lo através de uma LIB open source não faz diferença, vai usá-lo do mesmo jeito.
A única diferença é que usando ADO vai estar aprendendo ADO, pra qualquer tipo de uso, incluindo sites e outras linguagens de programação.

Mas vai ter que sair da zona de conforto, que é usar DBF do jeito que está acostumado, ou usar outras bases de dados igual DBF.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mai 2015 07:42
por Toledo
Softwhouse escreveu:Estou usando Harbour 3.2.0dev (r150408220)
Estou compilando como indicado: Hbmk2 demo.prg rddsql.hbc sddodbc.hbc

Amigo, esta é a mesma versão que tenho aqui, então a primeira coisa a fazer é verificar se na pasta do seu Harbour tem as pastas \Contrib\rddsql e \Contrib\sddodbc. Se existir, então force o uso dos arquivos hbc, copie os arquivos rddsql.hbc, hbrddsql.ch e sddodbc.hbc para a mesma pasta onde está o demo.prg.

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mai 2015 11:05
por Softwhouse
Bom dia Toledo,

De fato, falta a pasta Contrib, o harbour que utilizo é o que vem junto com a minigui, procurei pelo fórum e não encontrei aonde baixar essa pasta, saberia informar o link ?

Grato

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mai 2015 18:26
por Toledo
Softwhouse escreveu:utilizo é o que vem junto com a minigui

Tente então compilar assim:

hbmk2 demo.prg -lhbodbc -lodbc32 -lhbsqldd -lsddodbc

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Mai 2015 08:57
por Softwhouse
Bom dia Toledo,

Ok, compilou certinho, mas ao executar deu Erro na conexão com o servidor.

Abraços

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Mai 2015 11:46
por Toledo
Amigo, qual a mensagem de erro??? Em que linha ocorreu o erro???

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Mai 2015 12:50
por JoséQuintas
Vi que a string de conexão é igual do ADO, mas um pouco diferente do que uso.
Pra quem não está acostumado, acho que dá pra confundir esta parte.

nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 3.51 Driver};dsn=;User=root;pwd=suasenha;database=test;" } )


Não sei se a ordem faz diferença, ou o jeito, em todo caso, a mesma parte comentada, como eu uso no ADO:

cConnectionString := ;
   "Driver={MySQL ODBC 3.51 Driver};" + ; // Corresponde exatamente ao driver ODBC que foi instalado
   "Server=localhost;" + ;                // endereço do servidor, IP ou nome
   "Port=3306;" + ;                       // 3306 é a default. Só precisa indicar aqui se for diferente
   "Database=test;" + ;                   // nome do banco de dados. precisa ter sido previamente criado no servidor
   "User ID=root;" + ;                    // nome de usuário cadastrado no servidor MySQL
   "Password=suasenha;" + ;               // senha do usuário
   "Collation=latin1;" + ;                // Só pra garantir, compatível com PTISO
   "Option=131072;" + ;                   // Esta apenas segui o barco. Tem a ver com configurações extras
   "dsn=;"                                // Só se usar dsn criada no Windows vai isto com o nome, e pode substituir todo resto

nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", cConnectionString } )


Pra isso funcionar o que precisa conferir:

- o servidor mysql precisa estar instalado no endereço indicado (no caso da string, máquina local)
- o firewall precisa estar liberado pelo menos pra uso local (geralmente a própria instalação do MySQL faz isso)
- o nome do banco de dados precisa ser válido (o nome que você criou)
- o usuário/senha precisam ser válidos (o nome e senha que cadastrou)
- o ODBC de MySQL precisa estar instalado - versão 3.51

Porque tanta complicação:
Lembrem-se: não é acesso a disco, é acesso por conexão igual internet.
Faz diferença firewall no servidor porque vai passar a receber conexões - a segurança geralmente bloqueia isso.
E como pode estar em qualquer lugar, faz diferença o endereço/IP pra chegar até o servidor.
A conexão usa TUDO que foi configurado de uma vez, então TUDO precisa estar certo pra funcionar.

Erros possíveis, onde a mensagem ajuda a localizar:

- fonte de dados não instalada - falta ODBC MySQL no terminal ou nome está errado na String
- servidor não encontrado - problemas com endereço ou firewall ou nome errado na String
- base de dados não encontrada - Não existe a base no servidor, ou nome errado na string
- acesso negado ao usuário - usuário/senha errados na string ou não liberados para uso externo (se não for local)

Acessar o mesmo servidor pelo HeidiSQL ajuda a testar/conferir quase tudo isso.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 25 Mai 2015 08:47
por Softwhouse
Bom dia Toledo,

Na verdade não é um erro e sim o Alert informado "Erro na conexão com o servidor"

IF nConnection == 0
Alert("Erro na conexao com o servidor")
Return nil
ENDIF

Vou revisar as configurações para ver se não foi feito algo errado.

Abraços

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 01 Set 2015 17:25
por cjp
Colegas,

Por favor, preciso de ajuda para uma questão relacionada à instalação do MySQL: estou pensando em instalar um banco de dados local na minha máquina, sem prejuízo do banco de dados que já uso no provedor. A ideia é fazer um backup do banco de dados do provedor na máquina local, para usar quando falha a conexão ao banco do provedor, apenas para consulta (sem alteração de dados).

Não estou acertando a instalação desse banco de dados local. Já tenho todos os passos deste tutorial instalados e funcionando, para o banco do provedor.

Alguém poderia me dar a dica de como instalar o banco local?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 13 Mar 2016 18:40
por chicaomogi2014
Olá,

Tenho um programa que esta compilando perfeitamente com o comando:

compile sistema /m

O /m é pra dar suporte ao MySQL

Quando tento com:

hbmk2 sistema -lhbmysql

Vem um monte de warning e não compila, nao gerar o EXE

Tenho a Harbour MiniGUI Extended Edition 16.02

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 13 Mar 2016 22:00
por Toledo
chicaomogi2014 escreveu:Tenho a Harbour MiniGUI Extended Edition 16.02

Neste caso você teria que criar um arquivo HBP com a lista de arquivos PRG e um outro arquivo HBC com os parâmetros de configuração (libs, path include e path libs.

Por exemplo: arquivo.hbp
main.prg
cadastro.prg
relat.prg


arquivo.hbc
libs=hbmysql


Para compilar digite:

hbmk2.bat arquivo.hbp arquivo.hbc

Obs.: hbmk2.bat está na pasta \MiniGui\Batch

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 00:41
por chicaomogi2014
Fiz como orientado mas da erro

Harbour 3.2.0dev (r1602101617)
Copyright (c) 1999-2016, http://harbour-project.org/
clientes.prg(13) Error E0030 Syntax error "syntax error at '.'"
clientes.prg(15) Error E0030 Syntax error "syntax error at 'WINDOW'"
clientes.prg(16) Error E0030 Syntax error "syntax error at 'KEY'"
clientes.prg(23) Error E0030 Syntax error "syntax error at '@'"
clientes.prg(33) Error E0030 Syntax error "syntax error at '.'"
clientes.prg(42) Error E0030 Syntax error "syntax error at '.'"
clientes.prg(47) Error E0030 Syntax error "syntax error at 'IMAGE'"
clientes.prg(48) Error E0030 Syntax error "syntax error at '30'"
clientes.prg(49) Error E0030 Syntax error "syntax error at '966'"
clientes.prg(50) Error E0030 Syntax error "syntax error at '24'"
clientes.prg(51) Error E0030 Syntax error "syntax error at '24'"
clientes.prg(52) Error E0030 Syntax error "syntax error at 'img\adicionar1.bmp'"
clientes.prg(53) Error E0030 Syntax error "syntax error at 'END'"
clientes.prg(58) Error E0030 Syntax error "syntax error at '@'"
clientes.prg(60) Error E0030 Syntax error "syntax error at 'IMAGE'"
clientes.prg(61) Error E0030 Syntax error "syntax error at '64'"
clientes.prg(62) Error E0030 Syntax error "syntax error at '966'"
clientes.prg(63) Error E0030 Syntax error "syntax error at '24'"
clientes.prg(64) Error E0030 Syntax error "syntax error at '24'"
...
...
178 errors

No code generated.
hbmk2[sis]: Error: Running Harbour compiler (embedded). 1

isso usando: hbmk2.bat sis.hbp sis.hbc

Mas se compilo usando: compile.bat sis /m, compila perfeitamente

E gostaria de saber se é /lhbmysql o equivalente /m do compile ou outra coisa.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 02:56
por alxsts
Olá!

Você colocou a linha abaixo em seus fontes?
#include "minigui.ch"

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 12:49
por chicaomogi2014
só tinha no primeiro PRG, agora coloquei em cada PRG.

Ai mudou a tela de erro

Harbour 3.2.0dev (r1602101617)
Copyright (c) 1999-2016, http://harbour-project.org/
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_iuca90.dir\sistema.c:
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_iuca90.dir\clientes.c:
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_iuca90.dir\entrada.c:
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_iuca90.dir\movimento.c:
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_iuca90.dir\caixa.c:
C:\Users\FRANCI~1\AppData\Local\Temp\hbmk_le596k.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'mysql_init' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_real_connect' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_close' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_server_version' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_commit' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_rollback' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_select_db' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_query' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_store_result' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_use_result' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_lengths' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_data_seek' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_field' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_field_seek' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_num_fields' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_field_count' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_fields' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_errno' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_error' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_dbs' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_tables' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_num_rows' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_row' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_free_result' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_affected_rows' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_host_info' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_server_info' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_insert_id' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_ping' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_real_escape_string' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_escape_string' referenced from C:\MINIGUI\HARBOUR\LIB\HBMYSQL.LIB|mysql
Warning: Public symbol '_HB_FUN_ENTRADA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_ENTRADA_FIM' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_PROCURAR_ENTRADA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CADASTRA_AVULSO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CADASTRA_MENSALISTA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CADASTRA_SAIDA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CONFIRMA_ENTRADA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_HORA_ATUAL' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_AGUARDE_ENTRADA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_TELA_SAIDA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_SAIDA_CONFIRMA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CHAVE_PAGAMENTO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\ENTRADA.OBJ
Warning: Public symbol '_HB_FUN_CLIENTES' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_PROCURAR_CLIENTE' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_LISTA_CLIENTES' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_CORZEBRAFRENTE' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_CADASTRO_CLIENTE' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_SALVAR_CLIENTE' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_CLIENTE_FOCO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_APAGA_CLIENTE' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CLIENTES.OBJ
Warning: Public symbol '_HB_FUN_CAIXA' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CAIXA.OBJ
Warning: Public symbol '_HB_FUN_CAIXA_ACESSO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\CAIXA.OBJ
Warning: Public symbol '_HB_FUN_MOVIMENTO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\MOVIMENTO.OBJ
Warning: Public symbol '_HB_FUN_PROCURAR_MOVIMENTO' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\MOVIMENTO.OBJ
Warning: Public symbol '_HB_FUN_MOVIMENTO_FIM' defined in both module C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\SISTEMA.OBJ and C:\USERS\FRANCISCO\APPDATA\LOCAL\TEMP\HBMK_IUCA90.DIR\MOVIMENTO.OBJ
hbmk2[sis]: Error: Running linker. 2

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 13:14
por Toledo
Amigo, no seu arquivo sis.hbc alterar para:

libs=hbmysql libmysql


No seu arquivo SISTEMA.PRG está de alguma forma incluindo os outros PRG (usando por exemplo: #include, set procedure, usando comando DO, etc.)?

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 15:04
por chicaomogi2014
SIM, tenho varios #include "entrada.prg", #include "clientes.prg" e mais 3 ou 4.

Mas depois de deixar o .hbc como mencionado:

libs=hbmysql libmysql

funcionou.

Excelente, valeu mesmo pela ajuda.

Muito obrigado!!!!!!!!!!

Aqueles comandos do hbmake -inc -es2 e outros, aonde posso colocar eles?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 14 Mar 2016 17:13
por Toledo
chicaomogi2014 escreveu:Aqueles comandos do hbmake -inc -es2 e outros, aonde posso colocar eles?

No arquivo HBP.

Abraços,

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mar 2016 20:36
por asimoes
Toledo,

Como é a configuração para usar um ip ex. 192.168.0.103 ou invés de localhost, para testar o acesso em uma rede.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mar 2016 21:18
por asimoes
Toledo,

Consegui: usar @'% para habilitar qualquer ip

GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' WITH GRANT OPTION;
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'password';

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Mar 2016 21:20
por asimoes
Exemplo completo:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 20 Mar 2016 09:15
por rubens
Bom dia...

Usar o MySQL com ADO é melhor do que usar MysQL com a classe TMySQL?
Também estou entrando agora no SQL e pelo que vi o ADO server para outras coisas também provenientes do Windows.
Com a TMySQL não é necessário Driver ODBC, somente o MySql instalado e a dll libmysql.dll.

Obrigado
Rubens

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 20 Mar 2016 09:45
por JoséQuintas
Se precisar de ajuda sobre ADO, qualquer programador de qualquer linguagem de programação pode ajudar.
Há muito material na internet sobre ele.
Até mesmo se decidir abandonar o Harbour, vai ter aprendido algo que serve pra qualquer linguagem de programação.

Se decidir por TMYSql, SQLMIX, ou algo do Harbour, vai estar isolado com quem usa o mesmo tipo de acesso.

Vai ter que descobrir por si só qual prefere usar.
Sempre tem vantagens e desvantagens conforme o que foi escolhido.
Me parece que o ADORDD, que não faz parte do Harbour, acaba permitindo usar mexendo pouco nos fontes.
E o SQLMIX é outra opção.

Lembrando que ADO é exclusivo do Windows.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 22 Mar 2016 22:27
por asimoes
Alguém conhece o Mysqlimport?

Então vai a dica, o mysqlimport sobe um txt para um banco mysql
O mysqlimport é equivalente ao Oracle's SQL LOADER

Exemplo:
asaprev é o banco
apm05.txt é o nome da tabela que vai subir com o nome apm05 (tem que ser o mesmo nome que está no banco)
Obs.: a tabela já deve estar criada antes de executar.

O ideal é criar um programa que crie todas as tabelas com a estrutura e depois rodar o mysqlimport

mysqlimport --delete --verbose --local --port=3306 --fields-terminated-by=, --lines-terminated-by="\r\n" --user=root --password=sistema asaprev apm05.txt

Pode usar também o parâmetro --delete (equivalente ao drop table)

Connecting to localhost
Selecting database asaprev
Deleting the old data from table apm05
Loading data from LOCAL file: D:/Harbour/h-MySQL/apm05.txt into apm05
asaprev.apm05: Records: 802707 Deleted: 0 Skipped: 0 Warnings: 0
Disconnecting from localhost

Vantagens: muito rápido! praticamente chapa o arquivo no banco.

http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 23 Mar 2016 08:31
por asimoes
Executando o Mysqlimport de um ip diferente de localhost, use --host=192.168.0.103

mysqlimport --host=192.168.0.103 --protocol=tcp --delete --verbose --local --port=3306 --fields-terminated-by=, --lines-terminated-by="\r\n" --user=asaprev --password=asaprev asaprev teste.txt

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 11 Abr 2016 01:28
por rochinha
Amiguinhos,

Devo imaginar que todos aqui estão usando MySQL e SQLMix. Sem sim, estão usando em produção?

asimoes
O arquivo TXT que voce se refere contém as sentenças em SQL?

O ideal é criar um programa que crie todas as tabelas com a estrutura e depois rodar o mysqlimport


Neste caso o mysqldump serviria?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 11 Abr 2016 07:47
por asimoes
Olá Rochinha,

Não o arquivo texto é tipo esse: delimitado com virgula ou outra caracter de separação entre campos

101,302,101042010,016/1200/8700302-2,NULL,'',2010-04-10,N,042010,150.00,0.00,NULL,0.00,,0.00,0.00,'','','',F

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 16 Abr 2016 16:07
por rochinha
Amiguinhos,

Pensando em automatizar minha instalação perfiz o seguinte script usando InnoSetup:

Eu usei as versões MySQL Server 5.5.11 e MySQL ODBC 3.51.30, mas nada impede de usar outras versões, bastando mudar as linhas:


#define MySQLServer "C:\TEMP\mysql-5.5.11-win32.msi"
#define MySQLODBC "C:\TEMP\mysql-connector-odbc-3.51.30-win32.msi"

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 16 Abr 2016 16:40
por rochinha
Amiguinhos,

Depois de gerada a instalação acima eu usei o seguinte script para dimuir o tamanho da mesma adicionando um utilitário:

Será gerado na pasta OUTPUT o SetupMySQL.exe que deve ser utilizado para instalar em outras máquinas.

Caso queiram testar a instalação, peguem o arquivo SetupMySQL.exe

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 19 Abr 2016 00:53
por cjp
Meus amigos,

Estou tendo um problema para instalar o ODBC em novas máquinas, não está conectando.

Em contato com o provedor, eles me disseram:

O ODBC PHP é usado para o PHP fazer as conexões do banco de dados para outros servidores (como servidores MS SQL). Ele não tem nenhuma relação com o ODBC do computador, podendo ser necessário a instalação para conseguir conexão usando este driver.

Neste momento o ODBC está instalado no servidor e funcionando normalmente.

Consigo conexão normal usando o login do cPanel.

Deve verificar a presença do ODBC no seu computador, até porque conseguia fazer conexão com o servidor mesmo no servidor não tendo ODBC e deixou de conseguir conectar. O driver não está respondendo no seu computador e não era falha no servidor, como imaginado inicialmente.

===================

root@jupiter [~]# php -m | grep odbc
odbc


Sinceramente, não entendi bem o que eles quiseram dizer.

No provedor que eu usava antes, funcionava sem problema. Neste atual, não tenho certeza se já funcionou.

O estranho é que, nas máquinas que eu já tinha instalado antes, com o provedor anterior, embora a conta lá nem exista mais, meu sistema continua rodando normalmente, usando a base de dados do novo provedor.

Inclusive nesta máquina que estou usando agora, está configurado como localhost, mas mesmo assim o acesso à base do provedor atual funciona normalmente.

Só que não consigo configurar para funcionar em novas máquinas.

Alguém poderia me ajudar com isto?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 20 Abr 2016 19:56
por rochinha
Amiguinhos,

cjp
O seu provedor tem instalado o ODBC para uso dos sites e portanto há de funcionar corretamente, quando voce usa em .PHP do seu site os endereços 127.0.0.1 E localhost porque estes endereços estão sendo entendidos dentro do site.

Voce diz que o serviço que tinha antes nem existe mais, mas o banco de dados remoto funciona é porque a base de dados que você criou, o usuário e a senha de acesso ainda estão ativos e você tem sorte que eles não desabilitaram.

Quando você diz que acesso por localhost na sua máquina é porque você "está acessando a SUA máquina". Não existe meios de você acessar os endereços 127.0.0.1 E localhost porque eles são locais. Você não pode acessar um IP remoto sem estar no acesso remoto a ele.

Desligue o cabo de rede e o acesso wifi de sua máquina e teste seu programa. Se ele continuar acessando normalmente é porque você está trabalhando somente em sua máquina achando que acessa remoto.

Portanto quando o provedor diz: [i]...nosso ODBC está instalado e rodando sem problemas...[/b] é porque lá está instalado.

Você precisa ter instalado no seu computador o ODBC também.

Outra coisa:

Quando se faz acesso ao MySQL localmente você usa em sua string o direcionamento local, mas quando você acessa um MySQL remotamente, é praxe dos hosts lhe informar o endereço do banco de dados , porta, etc.

No meu provedor o meu site acessa o MySQL pelo endereço www.winsecuremysql.com.br, porta 3306, mas se preciso acessar a mesma base de forma remota o endereço já é www.winsecuremysql-remoto.com.br, porta 3307.

Portanto reveja suas instalações e consiga uma correta configuração.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 20 Abr 2016 20:25
por rochinha
Amiguinhos,

Uma pequena alteração nos anexos que postei anteriormente permitira configurar o MySQL através das portas do Firewall.

A alteração está no bloco [RUN].

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Abr 2016 01:13
por cjp
Acho que eu não fui claro, vou tentar explicar melhor.

Estou falando especificamente da Parte 4 do tutorial que o Toledo fez neste post.

Quando coloco os parâmetros da conexão do provedor, não funciona. E são os mesmos dados que uso no meu sistema (tanto em Harbour quanto em PHP) para conectar ao meu banco de dados, e no sistema funciona. Só nos parâmetros da conexão do ODBC que não funciona.

Quando falei em localhost, quis dizer que, nesta máquina que estou usando agora, nos parâmetros de conexão do ODBC, constam os dados do localhost (tcp/ip server: localhost; port: 3306; user: root). Mas mesmo nesta máquina, no meu sistema, eu acesso ao banco de dados do provedor sem problema.

E quando falei do provedor anterior, quis dizer que, em algumas máquinas, nos parâmetros de conexão do ODBC, constam ainda os dados do provedor anterior. E o banco de dados do provedor anterior não existe mais, tanto que pelo meu sistema não consigo mais conectar nele. Mas mesmo nessas máquinas, no meu sistema, eu também acesso ao banco de dados do provedor atual.

Em suma, quero dizer: eu não entendo como funciona esse ODBC, não entendo pra que serve. Sei que, se ele não conecta, no meu sistema em Harbour também não consigo conectar. Mas, estranhamente, se ele conecta em qualquer banco de dados (até em um que nem existe mais), no meu sistema consigo conectar no banco do provedor atual. É isso? Não é estranho?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Abr 2016 02:42
por rochinha
Amiguinhos,

cjp
As versões de ODBC são as mesmas? Tenho pra mim que se for o caso, desinstalar e reinstalar os drivers seria uma boa. Lembrando que só desinstalar não basta, também é necessário limpar o registro com algum programa como CCleaner.

Caso não queira desisntalar, talvez resolva a retirada do DSN criado já que o Quarto Post fala disto.

No meu teste eu não criei o DSN, esqueci de colocá-lo ao seguir o passo-a-passo, instalando somente o servidor e o driver e compilando o exemplo do post 5.

Depois fiquei me indagando sobre o porque do DSN e fui olhar a minha string de conexão:
rddSetDefault( "SQLMIX" )
nConnection := RDDINFO( RDDI_CONNECT, ;
                                      { "ODBC", "Server=localhost;Driver={MySQL ODBC 3.51 Driver};dsn=;User=root;pwd=;database=test;" } )


A mim funcionou como acima.

Deixei o DSN vazio. Talvez o seu conflito possa ser a colocação conjunta ou a falta do DSN. Revise.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Abr 2016 13:44
por cjp
As versões do ODBC são as mesmas.

Não sei o que é o DSN, mas na minha string também está vazio.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 09 Jun 2016 18:48
por florencio
Toledo, consegui fazer a conexão com o banco de dados utilizando seu exemplo.
Preciso ler uma tabela e armazenar o conteudo em uma tabela dbf ou um array.

Abaixo esta o select que montei.
cQuery := "select col_lote, col_cont, col_colet, col_usu, prod_cod, prod_ean, col_sequen, prod_quan, col_data, col_hora from coleta"
RDDINFO(RDDI_EXECUTE, cQuery)

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 09 Jun 2016 22:19
por cjp
Está dando algum erro nesse select, Florencio?

Onde está com dificuldade? Como podemos te ajudar?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 21 Nov 2016 23:23
por cjp
Meus amigos,

Estou com um problema para instalar o MySQL em uma máquina:

As primeiras partes foram instaladas normalmente, mas, quando chegou na configuração do ODBC, não aparece o MySQL. Veja no anexo.

Como devo proceder?

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 23 Nov 2016 20:48
por rochinha
Amiguinhos,

cjp, isto é bem simples, você deve instalar usando Run As, ou seja, rodando os setups como administrador.

O Windows prega estas peças.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 24 Nov 2016 22:07
por cjp
Funcionou, meu amigo. Muito obrigado.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 08 Abr 2022 21:15
por cjp
Alguém poderia me ajudar informando qual o link de onde consigo baixar o MySQL agora? O link do início deste tutorial não está mais funcionando, e não consegui baixar de outro lugar.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 11 Abr 2022 09:29
por rochinha
Amiguinhos,

Testei os links que eu havia disponibilizado anteriormente e estão funcionando mas em todo o caso eis aqui o paleativo https://www.4shared.com/s/fYhqtHgIjba

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 11 Abr 2022 11:20
por cjp
Deu certo, muito obrigado.

Instalando e configurando o MySQL para Harbour

MensagemEnviado: 11 Abr 2022 12:44
por JoséQuintas
mysql.png


Sem comentários...