RDD LETO Sem Mistério

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

RDD LETO Sem Mistério

Mensagem por Poka »

Experimente utilizar o comando de linha do CVS para baixar a versão mais atual do Letodb;
1º Entre no prompt do MS_DOS;
2º Vá para a raiz C:
3º Digite o comando abaixo:
cvs -d:pserver:anonymous@letodb.cvs.sourceforge.net:/cvsroot/letodb checkout -r rel-1-mt letodb
4º Verifique depois do download se criou o diretório c:\letodb
5º Ler o arquivo readme_pt_br que tem as instruções de como compilar, importante carregar a variável SET HB_PATH antes de compilar.

Obs.: utilizo Minigui Extended e Harbour e gerou a biblioteca.

Estou aprendendo não alterei meus sistemas, se tiver alguém que tenha um exemplo para postar agradeço.
clipsis
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 02 Jun 2010 11:53
Localização: brasil

RDD LETO Sem Mistério

Mensagem por clipsis »

Olá e boa noite a todos!

Sempre vi e li sobre o LetoDB. Agora resolvi realmente testá-lo e ver to que é capaz. Pois tenho recebido muitas reclamações sobre lentidão em alguns sistemas.

Como instruções no início deste tópico baixei o LetoDB via CVS compilei manualmente utilizando os arquivos .hbp na pasta do LetoDB. Gerou o arquivo LetoDB.EXE na pasta BIN e na pasta LIB gerou um arquivo LIBRDDLETO.A.

Pergunta: Não deveria haver um arquivo LIBRDDLETO.LIB (ou algo parecido) na PASTA lib ?

Executei: HBMK2 LETODB.HBP e HBMK2 RDDLETO.HBP

Fiz algo errado ? O que ?

Abraços
Clipper 5.2/Blinker
Harbour 3.0/Mingw
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

RDD LETO Sem Mistério

Mensagem por asimoes »

Olá Clipsis,

Qual é a versão do harbour que você está usando? se for a compilada com mingw a extensão da lib será com .a mesmo.
Tenho uma sugestão para você, considere o uso da lib netio que faz parte do projeto harbour, eu utilizo e recomendo.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
clipsis
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 02 Jun 2010 11:53
Localização: brasil

RDD LETO Sem Mistério

Mensagem por clipsis »

Olá ASimoes, valeu pela atenção!
asimoes escreveu:
Qual é a versão do harbour que você está usando? se for a compilada com mingw a extensão da lib será com .a mesmo.
Sim é compilada com o mingw.
asimoes escreveu:
Tenho uma sugestão para você, considere o uso da lib netio que faz parte do projeto harbour, eu utilizo e recomendo.
Já tinha visto alguma coisa a respeito. Mas Três questões são muito importantes:
1 - Quais as vantagens de se usar o netio existe ganho de performance ?
(o meu problema é a reclamação sobre a lentidão do acesso aos dados em ambiente de rede
2 - Quais serias as mudanças necessárias para implantá-la ?
(Tenho sistemas gerados com o GASPro e gostaria de aproveitá-los.)
3 - É possível acesso remoto com a netio ?

Abraços.
Clipper 5.2/Blinker
Harbour 3.0/Mingw
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

RDD LETO Sem Mistério

Mensagem por asimoes »

Olá Clipsis,

Respondendo sobre o netio:
clipsis escreveu:1 - Quais as vantagens de se usar o netio existe ganho de performance ?
(o meu problema é a reclamação sobre a lentidão do acesso aos dados em ambiente de rede
1 - Netio faz parte do projeto harbour, já o rddleto apesar de estável, já faz muito tempo que não há evolução.
Sendo o netio uma contribuição do projeto harbour terá sempre até que digam ao contrário, uma manutenção evolutiva/corretiva

Quanto a lentidão, não percebi, nada melhor que os usuários do sistema para informar sobre isso, implementei a 2 anos em um sistema que faço manutenção e nunca houve perda ou corrupção de registros e tão pouco reclamação sobre lentidão.
clipsis escreveu:2 - Quais serias as mudanças necessárias para implantá-la ?
(Tenho sistemas gerados com o GASPro e gostaria de aproveitá-los.)
2- Você terá que fazer algumas alterações no código fonte do seu sistema assim como o faria com o rddleto, para abertura dos dbfs.
Terá que usar o hbnetio ou algum sistema servidor (posso te passar o servidor que eu fiz para netio e exemplos de como usar) e linkar a biblioteca hbnetio no seu projeto de compilação.
clipsis escreveu:3 - É possível acesso remoto com a netio ?
Quanto a acesso remoto, ainda não consegui, hoje eu estava até pesquisando sobre uso com noip, dyndns mas não obtive respostas.
Neste quesito o rddleto funciona.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
clipsis
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 02 Jun 2010 11:53
Localização: brasil

RDD LETO Sem Mistério

Mensagem por clipsis »

Olá ASimoes

Mias uma vez obrigado pela atenção.
asimoes escreveu:
2- Você terá que fazer algumas alterações no código fonte do seu sistema assim como o faria com o rddleto, para abertura dos dbfs.
As alterações seriam mais na abertura dos dbfs ? O restante de uso (inclusão, edição, exclusão, busca) seria o mesmo se usasse o DBFNTX?
asimoes escreveu:
Terá que usar o hbnetio ou algum sistema servidor (posso te passar o servidor que eu fiz para netio e exemplos de como usar) e linkar a biblioteca hbnetio no seu projeto de compilação.
Se puder me indicar ou passar servidor e exemplos de como utilizar e compilar agradeço

Fico no aguardo

Abraços
Clipper 5.2/Blinker
Harbour 3.0/Mingw
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

RDD LETO Sem Mistério

Mensagem por asimoes »

clipsis escreveu:As alterações seriam mais na abertura dos dbfs ? O restante de uso (inclusão, edição, exclusão, busca) seria o mesmo se usasse o DBFNTX?
Exatamente igual.
clipsis escreveu:Se puder me indicar ou passar servidor e exemplos de como utilizar e compilar agradeço
Vou preparar um exemplo, assim que estiver pronto posto aqui.

Clipsis, se você der uma pesquisada no forum vai encontrar esse servidor exemplo que eu postei.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

RDD LETO Sem Mistério

Mensagem por asimoes »

Clipsis,

Baixe o exemplo que eu preparei, qq duvida pergunte.

O compactado tem 3 pastas

Cliente - fonte com executável de como abrir dbf usando netio.
Servidor - fonte com executável do servidor netio que eu fiz
hb32 - harbour compilado baixado hoje (17/11) versão nightly com a hwgui já compilada para usar com o fonte cliente e servidor.

http://www.4shared.com/archive/I4K9j_Zg ... netio.html
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

RDD LETO Sem Mistério

Mensagem por filizola »

compilei o projeto e obtive a mesma resposta do clipsis

"Como instruções no início deste tópico baixei o LetoDB via CVS compilei manualmente utilizando os arquivos .hbp na pasta do LetoDB. Gerou o arquivo LetoDB.EXE na pasta BIN e na pasta LIB gerou um arquivo LIBRDDLETO.A."

gostaria muito de testar o rddleto com harbour + no-ip ou dyndns. hoje utilizo MSTSC para acessar servidores, mas acho que seria muito mais eficiente e seguro o uso do rddleto.

Alguem teria a lib e o exe para nos passar, para harbour ?
"Um passo a frente, e já não estará mais no mesmo lugar..."
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

RDD LETO Sem Mistério

Mensagem por alaminojunior »

Posso estar enganado, mas essa extensão .a não sería para uso com o Linux ?
Não estaría faltando algum ajuste nos scripts de compilação ?

Segue um trecho do readme.txt referente a compilação.
2. Building binaries

2.1 Borland Win32 C compiler

An environment variable HB_PATH, which defines a path to the Harbour
directory, must be set before compiling. This can be done, for example,
by adding a line in a make_b32.bat:

SET HB_PATH=c:\harbour

If you use xHarbour, uncomment a line 'XHARBOUR = yes' in makefile.bc.
Then run the make_b32.bat and you will get server executable file letodb.exe in a bin/
directory and rdd library rddleto.lib in a lib/ directory.

2.2 Linux GNU C compiler

An environment variable HB_ROOT, which defines a path to the Harbour
directory, must be set before compiling. Or just change the value of HRB_DIR
in the Makefile.linux.

Then run the make_linux.sh and you will get server executable file letodb in a bin/
directory and rdd library librddleto.a in a lib/ directory.

2.3 xHarbour Builder

Run the make_xhb.bat to build binaries with this compiler. Probably,
you will need to change the path to your xHarbour Builder copy in the
make_xhb.bat. Default value is:

set XHB_PATH=c:\xhb

2.4 Mingw C compiler

An environment variable HB_PATH, which defines a path to the Harbour
directory, must be set before compiling. This can be done, for example,
by adding a line in a make_mingw.bat:

SET HB_PATH=c:\harbour

If you use xHarbour, uncomment a line 'XHARBOUR = yes' in makefile.gcc.
Then run the make_mingw.bat and you will get server executable file letodb.exe in a bin/
directory and rdd library librddleto.a in a lib/ directory.

2.5 Building letodb with hbmk

Now there is a possibility to build letodb with a Harbour make utility, provided by
Viktor Szakats. The command line syntax is:

hbmk2 [-hb10|-xhb] rddleto.hbp letodb.hbp [-target=tests/test_ta.prg]

Optional parameters: -hb10 - Harbour version is 1.0 or 1.0.1,
-xhb - xHarbour,
-target="blank"\test_ta.prg - build the test, too.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

RDD LETO Sem Mistério

Mensagem por paiva_dbdc »

Boa UMA duvida

o letoDB tem alguma forma de segurança MAIOR que o DBF puro ?

ex: Imagine uma tabela DBF no servidor e os usuarios acessando o servidor pelo TS.

ou seja e´como se estivessem trabalhando SOMENTE no servidor.

se utilizarmos o TS e SOMENTE trocar o dbf pelo TETODB a segurança é MAIOR quanto a corrupçoes de Indices ?

ou seria a mesma coisa ?

PAiva
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

RDD LETO Sem Mistério

Mensagem por Itamar M. Lins Jr. »

Ola! asimoes.
1 - Netio faz parte do projeto harbour, já o rddleto apesar de estável, já faz muito tempo que não há evolução.
Sendo o netio uma contribuição do projeto harbour terá sempre até que digam ao contrário, uma manutenção evolutiva/corretiva
Esta equivocado sobre a evolução do LetoDb.
veja as ultimas modificações/correções/adições.
2012-11-30 18:15 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/server/letofunc.c
+ added support for ordBagClear()
* include/funcleto.h
* updated version (2.10)

2012-11-27 18:10 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* utils/manager/manage.prg
* warnings
+ utils/manager/console.hbp
+ utils/manager/manage.hbp
+ hbmk2 files

2012-11-23 18:10 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/client/letomgmn.c
* added removal ip from path in the 2nd parameter of leto_FRename()

2012-11-22 18:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/server/letofunc.c
* using set scope in leto_Sum() and leto_groupBy() functions
* added filling recno after commit transaction for appended records.
protocol has been changed, but older versions can evaluated commit transaction
% SELF_RECID() call replaced with SELF_RECNO()
* include/funcleto.h
* updated version (2.09)

2012-11-12 19:20 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
* removed unused cValToChar() function, FilePath() and GetExten()
functions replaced with hb_FNameDir() and hb_FNameExt()
* source/server/letofunc.c
* added error handling in leto_Udf()
* tests/letoudf.prg
* added error handling in UDF_Trans() function

2012-10-18 18:05 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* include/rddleto.h
* source/client/leto1.c
* source/client/letomgmn.c
* crypt buffer moved to LETOCONNECTION structure
* added "s_" prefix to static variables
* added leto_checkLockError() function
+ support for RDDI_CONNECTION
! fixed leto_SetCurrentConnection()
* source/server/letofunc.c
* formatting
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

RDD LETO Sem Mistério

Mensagem por Itamar M. Lins Jr. »

Oi
Posso estar enganado, mas essa extensão .a não sería para uso com o Linux ?
Não estaría faltando algum ajuste nos scripts de compilação ?
Não. É para usar no windows mesmo é a extensaõ do compilador Mingw.
Os scripts estão corretos.


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

RDD LETO Sem Mistério

Mensagem por Itamar M. Lins Jr. »

Ola!
Boa UMA duvida

o letoDB tem alguma forma de segurança MAIOR que o DBF puro ?
Sim, porque é o mesmo principio de um servidor SQL. Os dados ficam no servidor e voce não compartilha a pasta.
ex: Imagine uma tabela DBF no servidor e os usuarios acessando o servidor pelo TS.
ou seja e´como se estivessem trabalhando SOMENTE no servidor.
se utilizarmos o TS e SOMENTE trocar o dbf pelo TETODB a segurança é MAIOR quanto a corrupçoes de Indices ?
ou seria a mesma coisa ?
O TS, exporta a tela do servidor com se fosse diversos bitmaps, dependendo da conexão fica muito lento.
Usando o LetoDb ou NetIO é muito mais rápido porque usa o TCP/IP igual a uma conexão SQL.
Quanto a segurança é muito maior, e corrupção de indices muito baixa. Eu uso e não tenho esse problema.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

RDD LETO Sem Mistério

Mensagem por Itamar M. Lins Jr. »

Pergunta: Não deveria haver um arquivo LIBRDDLETO.LIB (ou algo parecido) na PASTA lib ?
Executei: HBMK2 LETODB.HBP e HBMK2 RDDLETO.HBP
Fiz algo errado ? O que ?
Não fez nada de errado, está tudo certo ai.
Para instalar o servidor no win7.

Código: Selecionar todos

cd \letodb\bin
letodb install
net start letodb_service
Atenção com o arquivo letodb.ini

Código: Selecionar todos

Port = 2812              
Logfile = "letodb.log"   
DEFAULT_DRIVER = CDX     
DATAPATH = c:\database\
ENABLEFILEFUNC = 1
CRYPT_TRAFFIC = 0
PASS_FOR_LOGIN = 0
PASS_FOR_MANAGE = 0
PASS_FOR_DATA = 0
Share_Tables  = 0
[DATABASE]
DataPath = c:\database\
Driver = CDX
Conectando:

Código: Selecionar todos

//fragmentos do código que eu uso.
Local cHost := "//localhost:2812/"

   nConect := leto_Connect( cHost )
      IF nConect == -1
          nRes := leto_Connect_Err()
         IF nRes == LETO_ERR_LOGIN
            MsgStop( "Falha ao Logar" )
         ELSEIF nRes == LETO_ERR_RECV
            MsgStop( "Error ao conectar" )
         ELSEIF nRes == LETO_ERR_SEND
            MsgStop( "Erro de envio" )
         ELSE
            MsgStop( "Não connectado ao servidor: " + cHost )
         ENDIF
         Return .f.
      ENDIF
   EndIf

Function AbreDB(...)

   BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
       If lRddLeto
           If Leto_File(cHost+Db)
            DbUseArea(.t.,"LETO",cHost+DB,apel,.T.,.F.,'PTISO')
           Else
              MsgStop('LetoDb Não Localizou o Arquivo: '+cHost+Db)
              lRet := .f.
           EndIf
       Else
           DbUseArea(.t.,'DBFCDX',dDados+DB,apel,.T.,.F.,'PTISO')
       EndIf
 
   Recover
    If lRddleto
        msginfo('Erro, abrindo Arquivo: '+cHost+Db+' Compartilhado')
    Else
        msginfo('Erro, abrindo Arquivo: '+dDados+Db+' Compartilhado')
    EndIF
     lRet := .f.
   End Sequence

   if Neterr()
     MsgInfo('Usado de Forma Exclusiva, Em Outro Lugar.')
     lRet := .f.
   endif

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder