Página 2 de 8

Enviado: 14 Fev 2006 17:30
por rochinha
Amiguinho

Acabei de fazer uma conexão e não obtive erro algum. Uso Win2003, Norton Corporate Edition 9 e Firewall do Windows ativado.

Provavelmente voce tenha uma trava de firewall para as portas usadas pelo MySQL.

Desinstalar e reinstalar o protocolo TCP-IP muitas vezes resolvem problemas de não conectividade e PINGs.

@braços :?)

Parabens!!

Enviado: 14 Fev 2006 18:28
por ReinaldoFreitas
Aee DUDU, parabens eu consegui conectar!!!

gostaria tambem de aprencer usar mysql....

Um abraco..........

Enviado: 14 Fev 2006 19:23
por rochinha
Amiguinho

Em primeiro lugar consiga o MySQL Front, é a ferramenta para trabalho com o MySQL mais simples de usar.

Encontre e baixe também o MySQL ODBC Driver 3.51 e o MySQL 4 ou 5.

Baixe também o Mediator para MySQL, financeiramente a melhor opção.

Voce não precisará aprender a linguagem do MySQL usando estas ferramentas. Voce só precisará do Harbour e olhe lá.

@braços :?)

Enviado: 15 Fev 2006 09:55
por janio
rochinha escreveu:Amiguinho
Acabei de fazer uma conexão e não obtive erro algum. Uso Win2003, Norton Corporate Edition 9 e Firewall do Windows ativado.
Então deve ser algum problema com a minha NET, pois utilizo acesso via rádio... não sei se tem alguma coisa a ver, mas talvez seja isso.

Em todo caso, fica a minha tristeza em não ter podido ver essa maravilha! :(

Janio

Enviado: 15 Fev 2006 10:20
por rochinha
Amiguinho

Acesso é acesso não importa o meio, se por rário, telefone fixo, rede.

Alguma coisa esta impidindo vc de acessar o site externo e os fatores que levam a isto só pode ser de segurança.

Se vc usa o XP, por padrão ele ja vem com o firewall ativado e vc deverá desativa-lo, se for o caso, em ferramentas administrativas/serviços.

Verifique o nivel de proteção do IExplorer e baixe-o para zona de internet em opções de internet/segurança.

Seu antivirus, qual é?, desative momentaneamente.

Tente isto.

E depois retorne tudo ao normal para não ser invadido.

@braços :?)

MySQL

Enviado: 20 Fev 2006 10:20
por ReinaldoFreitas
Ola Rochinha, tudo Bem!!

Vc sabe em que site eu consigo estes programas do mysql ???

Obrigado...

Enviado: 20 Fev 2006 11:31
por MARCELOG
Apenas para registro,
o meu acesso tá beleza.

MarceloG.

Enviado: 20 Fev 2006 18:18
por rochinha

Enviado: 20 Fev 2006 19:28
por Dudu_XBase
Boa Noite Senhores.

PASSO A PASSO RDD MEDIATOR
:{ Contribuição postada por Vladimiro em Minigui Brasil




Dicas para uso do RDD Mediator

1 ) Para que serve o RDD Mediator ?

Já pensou você poder acessar a banco de dados sem precisar mudar o
seu código ? Por exemplo :

USE ARQUIVO
DO WHILE !EOF()
? CAMPO01, CAMPO02
SKIP
ENDDO
GO TOP
DBEDIT()
etc...

É para essa finalidade que foi desenvolvido esse produto.

2 ) A quem se destina esse produto ?

Desenvolvedores Clipper, Harbour, xHarbour e Delphi

3 ) Como funciona ?

Você instala uma versão do servidor referente ao seu banco de dados.
O servidor para MySQL é free até 100 conexões. O Postgres até 5
conexões, o SQL Server até 3 conexões, etc

O cliente é apenas uma lib que é linkada junto com seu aplicativo que
comunicasse com o servidor.

Ex :

aplicativo.exe --> Servidor RDD --> Banco de Dados

Todo o trabalho de configuração precisa ser feito no Servidor RDD e
não nos clientes.

4 ) Eu preciso pagar pelos clientes ?

Não, os clientes são free, mas fique atento ao preço do servidor que
é caro. Menos o Mediator para Mysql que é free.

5 ) Existem versões para Linux e Windows ?

Sim.

6 ) Onde baixar o servidor de RDD ?

De http://www.otc.pl/


7 ) Como instalar o servidor de RDD ?

a ) Cadastre-se no site acima e baixe os dois arquivos referentes ao
servidor RDD para mysql e o cliente.

b ) Caso não tenha o MySQL pode baixar o easyphp em www.easyphp.org , ele instala o Apache, Mysql, etc / e ou puxe o mysql no www.mysql.com

c ) Baixe o MySQLFront (Procure no google em ftps , esse programa é
muito bom para gerenciar o MySQL, mas ja foi descontinuado , use para
buscar : "index of mysqlfront" - Não coloque aspas )

d ) Baixe do site mysql.com o odbc para MySQL, esse ODBC só precisa
ser instalado na maquina onde ficara o servidor de RDD Mediator, não
precisa instalar nos clientes. Na verdade os clientes não precisam de
programa adicional instalado, basta as libs que veremos adiante.

e ) Instale o easyphp e ou Mysql


f ) Use o MySQLFront para conectar-se ao banco, note que o MySQL vem
com usuario root mas sem a senha, coloque uma senha.

g ) Crie um banco de dados

h ) Agora configure o odbc : Menu Iniciar -> Configurações -> Painel
de Controle -> Ferramentas Administrativas -> Fontes de Dados (ODBC)

Clique na aba System DSN
Botão add...
Selecione o MySQL ODBC 3.51, ele fica la embaixo.
Concluir
Dê um nome para sua conexão : Não use espaços, você precisa
desse nome para acessar de dentro de sua aplicação e do RDD Mediator
Server
Server : localhost
Usuario : root
Senha : sua senha do banco
Database : Selecione o database criado por você
Clique no botão test, confirme em Ok se tudo deu certo.

i ) Agora vamos ao RDD Mediator Server. Instale o servidor. Se você
instalou ele cria uma pasta em c:\MedSv

j ) Na pasta c:\MedSv tem uma subpasta MYSQL e um arquivo chamado
MEDIATOR.EXE, execute-o e faça as seguintes configurações.

Clique em Start para iniciar o Mediator
Clique em options
Clique em add no PANEL Users
Marque a opção RDBMS no Panel users, o nome do usuario é root (o
mesmo do MySQL) e a senha é a que vc criou
Salve as configurações
Lembre-se : Não feche a janela do programa MEDIATOR.EXE, mas na
frente veremos como coloca-lo como serviço

k ) Pronto ! Se deu tudo certo, vamos agora testar. Instale o
Mediator Client, ele cria a pasta c:\MedCl, va na subpasta test e
execute o programa hrbtest.exe

Preencha os dados para a conexão :

username : root
password : sua senha
data source : o seu dsn criado no ODBC
mediator IP : 127.0.0.1

Pronto! Se deu certo o programa exibe a mensagem : Conected to
Mediator server.
Voce pode usar esse programa de qualquer outra maquina para testar
conexões. Eu testo conexões via internet usando esse programinha.
Como o servidor mediator ja foi configurado na maquina servidora eu
apenas entro com os dados e coloco o IP do servidor. O interessante
tambem é que o MYSQL não precisa estar habilitado para receber
chamadas via Internet, você pode restringir o mysql para aceitar
apenas pedidos localhost, isso porque quem faz o recebimento do
chamado é o Mediator Server que repassa para o banco. Existe tambem
um utilitario chamado MDBU.EXE que é um DBU para Mediator.


8 ) O que eu preciso fazer na minha aplicação para que ela passe a
acessar o Mediator Server ?

a ) Na linkagem inclua as libs correspondentes, pode ser clipper,
harbour, xharbour...

Lib=medntx.lib
Lib=medntxmt.lib
Lib=cmnnet32.lib

b ) Inclua o OBJ na compilação

OBJ c:\Medcl\Xharbour\lib\build995\b32\noautlog.obj

Esse obj informa que a autenticação sera feita pelo sistema no seu
codigo, veremos isso abaixo.

c ) No seu codigo na função Main faça :


#include "mediator.ch"
FUNCTION MAIN( lc_terminal )

request medntx
RDDSETDEFAULT("MEDNTX")

Você tambem pode usar as variações e trabalhar em conjunto com o NTX
como abaixo :

RDDSETDEFAULT("DBFNTX") // O default continua o velho NTX

Use arquivo VIA "MEDNTX" // Selecione o driver na hora de abrir o
arquivo
Use arquivo2 VIA "DBFNTX"

*** Agora a conexão com o RDD com os dados que vc configurou

logRes := MedLogin("","EndereçoIP","19C8","root","senha do
mysql","odbc/dsn criado no servidor")
if logRes > 0
? Ok
endif


9 ) Se deu tudo certo, instale o mediator como serviço, basta ir no
menu iniciar, programas, mediator, Install as a service.

Enviado: 21 Fev 2006 01:48
por rochinha
Amiguinhos

Fiz os testes no passo-a-passo postado e usei o RUN1ST.PRG como exemplo.

Codigo do RUN1ST.PRG

Código: Selecionar todos

/************************************************************
**                                                         **
**  File: RUN1ST.PRG                                       **
**  Description:                                           **
**     Creates tables for sample programs using MEDNTX RDD **
**                                                         **
**  Copyright (c) 1997-1999, OTC S.A.                      **
**  All Right Reserved.                                    **
**                                                         **
************************************************************/
#include "mediator.ch" // linha indispensavel 1

function main()

request medntx  // linha indispensavel 2
RDDSETDEFAULT("MEDNTX") // linha indispensavel 3

aDeptData := { { 10, "ACCOUNTING", "NEW YORK" }, ;
               { 20, "RESEARCH", "DALLAS" }, ;
               { 30, "SALES", "CHICAGO" }, ;
               { 40, "OPERATIONS", "BOSTON" } }

aEmpData := { { 7839,'KING',  'PRESIDENT','17/11/81',5000,10 }, ;
              { 7698,'BLAKE', 'MANAGER',  '01/03/81',2850,30 }, ;
              { 7782,'CLARK', 'MANAGER',  '09/06/81',2450,10 }, ;
              { 7566,'JONES', 'MANAGER',  '02/04/81',2975,20 }, ;
              { 7654,'MARTIN','SALESMAN', '28/08/81',1250,30 }, ;
              { 7499,'ALLEN', 'SALESMAN', '20/02/81',1600,30 }, ;
              { 7844,'TURNER','SALESMAN', '08/08/81',1500,30 }, ;
              { 7900,'JAMES', 'CLERK',    '03/12/81',950, 30 }, ;
              { 7521,'WARD',  'SALESMAN', '22/02/81',1250,30 }, ;
              { 7902,'FORD',  'ANALYST',  '03/12/81',3000,20 }, ;
              { 7369,'SMITH', 'CLERK',    '17/12/80',800, 20 }, ;
              { 7788,'SCOTT', 'ANALYST',  '09/12/82',3000,20 }, ;
              { 7876,'ADAMS', 'CLERK',    '12/01/83',1100,20 }, ;
              { 7934,'MILLER','CLERK',    '23/01/82',1300,10 } }

CLS
? 'Iniciando' 
/* 
 // So use isto que quizer entrar direto sem a tela de login na abertura
logRes := MedLogin("","localhost","19C8","root","SuaSenha","SeuDatabase") 
if logRes <= 0 
   ? 'Problema para se logar ao servidor' 
endif 
*/

* Create CLPDB table
//IF TabNotEx( "CLPDB" ) // Desativei pois deu erro Nesta funcao
   aCDef := {}
   AADD( aCDef, { "CHAR_F", "C", 10, 0 } )
   AADD( aCDef, { "INT_F",  "N",  4, 0 } )
   AADD( aCDef, { "NUM_F",  "N", 10, 3 } )
   AADD( aCDef, { "DATE_F", "D",  0, 0 } )
   AADD( aCDef, { "LOG_F",   "L",  0, 0 } )
   AADD( aCDef, { "MEMO_F", "M",  0, 0 } )
   ? "Creating CLPDB table"
   DBCREATE( "CLPDB", aCDef )

   USE CLPDB
   ? "Creating index on CLPDB (CHAR_F)"
   INDEX ON CHAR_F TO CHAR_FI
   ? "Creating index on CLPDB (INT_F)"
   INDEX ON INT_F TO INT_FI
   ? "Creating index on CLPDB (NUM_F)"
   INDEX ON NUM_F TO NUM_FI
   ? "Creating index on CLPDB (DATE_F)"
   INDEX ON DATE_F TO DATE_FI
   ? "Creating index on CLPDB (LOG_F)"
   INDEX ON LOG_F TO LOG_FI
   ? "Creating expression index on CLPDB (CHAR_F+STR(INT_F,4))"
   INDEX ON CHAR_F+STR(INT_F,4) TO EXP_I

   ? "Inserting data into CLPDB"
   FOR i := 1 TO 200
       APPEND BLANK
       cval := PADR( "", i%10, CHR(i+65) )
       REPLACE char_f WITH cval
       REPLACE int_f  WITH i
       REPLACE num_f  WITH i+100.84
       REPLACE date_f WITH CTOD( '01/01/98') + i
       REPLACE log_f  WITH IF( i%2=0, .T., .F. )
       REPLACE memo_f WITH "Memo "+alltrim(str(i))
       IF i%10 == 0 
          ? "Records "+alltrim(str(i-10))+"-"+alltrim(str(i))+ " inserted successfully"
       ENDIF
   NEXT i
   USE
//ENDIF

* Create DEPT table
//IF TabNotEx( "DEPT" )  // Desativei pois deu erro Nesta funcao
   aDDef := {}
   AADD( aDDef, { "DEPTNO", "N", 2, 0 } )
   AADD( aDDef, { "DNAME", "C", 14, 0 } )
   AADD( aDDef, { "LOC", "C", 13, 0 } )
   ? "Creating DEPT table"
   DBCREATE( "DEPT", aDDef )

   USE DEPT 
   ? "Creating index on DEPT (DEPTNO)"
   INDEX ON DEPTNO TO DNOI

   ? "Inserting data into DEPT"
   FOR i := 1 TO LEN( aDeptData )
       APPEND BLANK
       REPLACE deptno WITH aDeptData[i][1]
       REPLACE dname  WITH aDeptData[i][2]
       REPLACE loc    WITH aDeptData[i][3]
       ? "Record " + alltrim(str(i)) + " inserted successfully"
   NEXT i
   USE
//ENDIF

* Create EMP table
//IF TabNotEx( "EMP" )  // Desativei pois deu erro Nesta funcao
   aDbf := {}
   AADD( aDbf, { "EMPNO", "N", 4, 0 } )
   AADD( aDbf, { "ENAME", "C", 10, 0 } )
   AADD( aDbf, { "JOB", "C", 9, 0 } )
   AADD( aDbf, { "HIREDATE", "D", 0, 0 } )
   AADD( aDbf, { "SAL", "N", 7, 2 } )
   AADD( aDbf, { "DEPTNO", "N", 2, 0 } )
   ? "Creating EMP table"
   DBCREATE( "EMP", aDbf )

   USE EMP
   ? "Creating index on EMP (EMPNO)"
   INDEX ON EMPNO TO ENOI

   ? "Creating index on EMP (DEPTNO)"
   INDEX ON DEPTNO TO EDNOI

   ? "Inserting data into EMP"
   FOR i := 1 TO LEN( aEmpData )
       APPEND BLANK
       REPLACE empno    WITH aEmpData[i][1]
       REPLACE ename    WITH aEmpData[i][2]
       REPLACE job      WITH aEmpData[i][3]
       REPLACE hiredate WITH CTOD( aEmpData[i][4] )
       REPLACE sal      WITH aEmpData[i][5]
       REPLACE DEPTNO   WITH aEmpData[i][6]
       ? "Record " + alltrim(str(i)) + " inserted successfully"
   NEXT i
   USE
//ENDIF

RETURN

* Function checks for non-existence of cTabName table
/*  // Desativei pois deu erro Nesta funcao
FUNCTION TabNotEx(cTabName)
LOCAL cAnsw := ""

IF ( MedIsTable(cTabName) )
   WAIT "Table " + cTabName + " already exist. Do you want to overwrite it? (y/n)" TO cAnsw
   IF UPPER( cAnsw ) == "Y"
      MedDropTab(cTabName)
   ELSE
      return .F.
   ENDIF
ENDIF

RETURN .T.
*/
Agora o meu BLD.BAT

Código: Selecionar todos

@echo off
rem Change the following line if your Harbour copy is in other place
SET HRB_DIR=c:\fivewin\fwh24

set HB_BIN_INSTALL=%HRB_DIR%\bin\
set HB_LIB_INSTALL=%HRB_DIR%\lib\
set HB_INC_INSTALL=%HRB_DIR%\include\

    %HB_BIN_INSTALL%\harbour %1.prg -n -i%HB_INC_INSTALL% %2 %3

    bcc32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c %HB_LIB_INSTALL%noautlog.obj debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib common.lib medntx.lib cmnnet32.lib 

del %1.obj
del %1.c
del %1.tds
Basta analisar o BLD.BAT e fazer as alterações para pastas de seu ambiente.

Para transportar os DBFs para MySQL bastará fazer um programinha usando o Harbour/xHarbour.

Quem quizer pode me solicitar o envio do DBF2MYSQL.EXE, uma ferramenta feita com Harbour e VisualLIB, excelente para transportar os dados .DBF para tabelas do MySQL.

E acho que assim ficara mais fácil usar esta ferramenta que é o Mediator em conjunto com o MySQL.

Com somente tres linhas voce acrescenta alta potencialidade ao seus sistemas.

Ah! Ah! Ah! Ah! Ah! , mas eu to rindo atoa...

@braços :?)

Enviado: 21 Fev 2006 09:05
por Dudu_XBase
Bom Dia.
Rochinha q ótimo q vc conseguiu Parabéns.
Junto com o Mediator Client vem diversos programas para auxiliar nessa tarefa vcs devem utilizar elas para criação das tabelas.
E tb estudar o manual em pdf que esta no C:\MEDCL\DOC

// Os programas estão aqui
C:\MEDCL\XHARBOUR\BIN\BUILD995

cdx2med.exe
incorpora seu indice cdx ao mediator: exemplo cdx2med dudu.cdx

dat2med.exe
importa os dados de um dbf para o mediator mas a tabela tem q existir no mysql q deverá ser criada pelo mdbu ou pelo dbf2med

dbf2med.exe
Cria estrutura do dbf no mysql deverá ser executado antes do dat2med

mdbu.exe
o DBU para Mysql identico ao q usamos

med2dbf.exe
Exporta a tabela do Med para um arquivo dbf

ntx2med.exe
incorpora um determinado indice ntx ao mediator mas usem o CDX.
MEDCDX.

Espero q isso os ajudem.


:xau

Enviado: 21 Fev 2006 15:36
por Marcos
Olá a todos,
Não consigo passar do item 7 F, Conectar-se ao MySql através do MySqlFront, estou com o MySql e o Front instalado, user: root da o seguinte erro: Cannot connect to MySQL Server on "localhost"!
Alguém pode me dar uma ajuda?
Na instalação do MySQL ficou todas as opções como Default.
Abraços,
Marcos.

Enviado: 21 Fev 2006 15:39
por Marcos
Ainda esqueci de mencionar acima, percebi que o MySQL não está carregando!
Marcos.

Enviado: 21 Fev 2006 17:02
por Lopes
Dudu_XBase escreveu:Bom Dia.
dbf2med.exe
Cria estrutura do dbf no mysql deverá ser executado antes do dat2med
Tentei utilizar esse programinha pra importar uma base de dados de testes que tenho aqui porém deu problemas devido utilizar .FPT para os arquivos memo.
Alguém sabe se tem uma alternativa pra importação desses arquivos ou se terei que voltar eles para o formato .DBT?

Enviado: 21 Fev 2006 17:41
por Dudu_XBase
Boa Tarde.
Marcos esta tendo algum conflito na hora de carregar o mysql.
Faça um teste com o easyphp ele carrega o mysql em outro dir.

Lopes crie sua tabela com o mdbu ou pelo proprio programa.
Depois importe os dados dbappend replace.
Como postado vc pode abrir seus dbfs em paralelo com o Mediator.

O DBF2MED não gera msm no padrão cdx.