Clipper On Line • Ver Tópico - LetoDBf (fork) -> LetoDb com espinafre

LetoDBf (fork) -> LetoDb com espinafre

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 20 Fev 2017 15:36

Ola!
Mudei para o LETODBf um fork que o Rolf "Elch" fez do LetoDb(Alexander Kresin).
Estou gostando, ele corrigiu os erros do LETODB e aprimorou os comandos, adicionou mais opções.
Agora com o LetoDBf a conexão está mais rápida, pois ele chama 2 processo simultâneos no servidor na mesma conexão.
Esta funcionando com CDX/NTX...
Explicações "melhores" em inglês no readme.txt
https://github.com/elchs/LetoDBf

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 20 Fev 2017 16:25

Ola!
Na época que comecei a usar não tinha NetIO.
Mas mesmo assim o NetIO não faz a mesma coisa que o LetoDB faz. O NetIO não tinha o conceito na época de:
leto_connect( "\\loja2.ddns.net:2812\")
use clientes new shared
browse()

Tem umas diferenças que o Przmek explicou, o NetIO é mais para redes LOCAIS e não tinha o tal "transaction" e outros recursos do LetoDb.
Comparing HBNETIO with LetoDB does not make sense. HBNETIO for file IO
operations is only network redirector which uses TCP connections to
replace different native system network redirectors. It give some small
speed improvement (i.e. 20-30%) but the main goal is resolving problems
with local caches and incompatible locking which break concurrent file
access when different OS-es are used on client stations or some of them
use danger "speedup" mechanism like opportunistic locking or some others
does not have native network redirectors which allow to connect to the
server.
Nothing more. Pure HBNETIO file access does not reduce network
traffic. Only RPC in HBNETIO can noticeable reduce it and this will
give the best speed results but user has to add to the server code
for all time consuming operations he wants to optimize.

best regards,
Przemek


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 20 Fev 2017 16:34

Ola!
Algumas comparações do ADS com o LetoDBf.
https://groups.google.com/forum/#!topic/harbour-users/hxyjdpmMCNY

Com LetoDbf:
The two lines above indicate the timing to delete the 1,010 attribute tags that were created in the previous process. For LetoDBF the process took 22 seconds more or less.

Com ADS:
The attribute tag deletion process under ADS took 4 minutes and 1 second, more or less.


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor fladimir » 20 Fev 2017 22:01

Agora pq não ajeitaram o projeto original? Meu receio é virar tipo q nem as libs gráficas... varias... e no caso das libs gráficas o esforço poderia ter sido concentrado em uma no maximo 2.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor cl@udio » 20 Fev 2017 22:41

Boa noite
Me fiz a mesma pergunta fladimir.
Por isso que os projetos deixam de crescer.
cl@udio
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 88
Data de registro: 25 Jan 2007 15:47
Curtiu: 1 vez
Mens.Curtidas: 0 vez

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 21 Fev 2017 09:55

Ola!
Segundo Elch, não quis mexer nos códigos de compatibilidade, que tem no original, compatibilidade com o xHarbour principalmente.
O LetodbF não roda no xHarbour por exemplo e versões velhas do Harbour.
The cause of this fork was to get the freedom of removing over many years accumulated legacy technics, and to continue, to...
Mais em:
https://github.com/elchs/LetoDBf/blob/master/README.md

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor fladimir » 21 Fev 2017 11:56

Realmente é um ótimo argumento

Agora esse novo fork pode desancar pq não fica preso as compatibilizações.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor fladimir » 02 Mar 2017 00:11

Baixei do git e fui testar mas pelo q entendi tem BAT pra MSVC e BCC... como faço em MinGW?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor fladimir » 02 Mar 2017 00:13

Desculpem... esqueçam o q falei tem os HBP na pasta... to dormindo na frente do computador... kkkk
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Nascimento » 14 Mar 2017 23:15

uma das primeiras duvidas é a abertura e criação dos indices atualmente tenho uma função que faz isso vou colocar um trecho aqui , original
a duvida é como seria no Letodb


// chamada da net_use()
  *                dbf    alias   indice
   if (!net_use("MCOCUP", "MCO","MCOCUP"))
      quit
   endif

**********************************************************
function Net_use
   parameters lfile, lalias, lindex, lexcl, lretry
   private lforever, v_arq,nomearq
   lretry:= iif(Type("lretry") != "N", 500, lretry)
   lexcl:= iif(Type("lexcl") != "L", .F., lexcl)
   lforever:= lretry == 0
   v_arq:= lfile + ".dbf"
   do while (lretry > 0 .or. lforever)
      if (lexcl)
         use (lfile) alias (lalias) new exclusive
      else
         use (lfile) alias (lalias) new
      endif
      if (used())
         exit
      endif
      if (mens(24, 11, "Arquivo nao liberado... AGUARDE ", 1) == 27)
         exit
      endif
      lretry:= lretry - 1
   enddo
   if (used())
      if (lindex = p_bancos+"MCOCUP")       
         if (!file(p_bancos+"MCOCUP.CDX"))
            nomearq:= lindex
*            Criando arquivo de indice     
            index on sui tag sui to (lindex) 
            set index to (lindex)
         else
            set index to (lindex)
         endif
      endif
endif
*************************************
             
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 15 Mar 2017 09:25

Ola!
Isso não muda. Continua da mesma forma.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Nascimento » 15 Mar 2017 10:48

na chamada nao tem que dizer onde ta o letodb?
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor fladimir » 15 Mar 2017 18:05

Se não testei errado... kkk, não, vc apenas define pra conectar em tal lugar e o path

Depois Use normal etc.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Itamar M. Lins Jr. » 17 Mar 2017 17:01

Ola!
Antes de suas funções, basta setar o AMBIENTE.
RDDSETDEFAULT("LETO")
leto_Connect( '//localhost:2812/' ) // ou o IP onde está os DBF´s  com o LETO 192.168.10.10 por exemplo, no lugar de localhost.

...Aqui suas funções.


Se quer ver as coisas(arquivos) que estão lá no servidor use as funções "NOVAS" do LETO para isso.
LETO_FILE()
LETO_DIRECTORY... em muitas outras, mas o básico você não mexe.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Nascimento » 19 Mar 2017 11:02

então pelo que compreendi fica exatamente dessa forma


RDDSETDEFAULT("LETO")
leto_Connect( '//localhost:2812/' ) // ou o IP onde está os DBF´s  com o LETO 192.168.10.10 por exemplo, no lugar de localhost.

// chamada da net_use()
  *                dbf    alias   indice
   if (!net_use("MCOCUP", "MCO","MCOCUP"))
      quit
   endif

**********************************************************
function Net_use
   parameters lfile, lalias, lindex, lexcl, lretry
   private lforever, v_arq,nomearq
   lretry:= iif(Type("lretry") != "N", 500, lretry)
   lexcl:= iif(Type("lexcl") != "L", .F., lexcl)
   lforever:= lretry == 0
   v_arq:= lfile + ".dbf"
   do while (lretry > 0 .or. lforever)
      if (lexcl)
         use (lfile) alias (lalias) new exclusive
      else
         use (lfile) alias (lalias) new
      endif
      if (used())
         exit
      endif
      if (mens(24, 11, "Arquivo nao liberado... AGUARDE ", 1) == 27)
         exit
      endif
      lretry:= lretry - 1
   enddo
   if (used())
      if (lindex = p_bancos+"MCOCUP")       
         if (!file(p_bancos+"MCOCUP.CDX"))
            nomearq:= lindex
*            Criando arquivo de indice     
            index on sui tag sui to (lindex) 
            set index to (lindex)
         else
            set index to (lindex)
         endif
      endif
endif
*************************************
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Próximo



Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro