RDD LETO Sem Mistério
Moderador: Moderadores
RDD LETO Sem Mistério
Saudação a todos.
Tenho um sistema em clipper e estive lendo este topico sobre o letodb.
Nao trabalho com Harbour nem mysql ainda, mas me interessei usar letodb para melhorar a velocidade
dos dbfs em rede.
Não tenho nem ideia de como começar. Alguem de voces que ja passaram pelos caminhos poderia me ajudar com um passo-a-passo? ou tem algum topico ja com esta função ?
Posso usar o letodb com o clipper puro, seus DBFs e NTX ?
O que realmente esse letodb faz ? ele trabalha com indices diferentes ou usa outros metodos que melhoram o desempenho da aplicação?
Agradeço desde ja.
Lucio.
Tenho um sistema em clipper e estive lendo este topico sobre o letodb.
Nao trabalho com Harbour nem mysql ainda, mas me interessei usar letodb para melhorar a velocidade
dos dbfs em rede.
Não tenho nem ideia de como começar. Alguem de voces que ja passaram pelos caminhos poderia me ajudar com um passo-a-passo? ou tem algum topico ja com esta função ?
Posso usar o letodb com o clipper puro, seus DBFs e NTX ?
O que realmente esse letodb faz ? ele trabalha com indices diferentes ou usa outros metodos que melhoram o desempenho da aplicação?
Agradeço desde ja.
Lucio.
RDD LETO Sem Mistério
O que o Leto faz eh simular um ambiente cliente/servidor com nossos dbf's. Ou seja, se vc usar seu sistema em mais de um computador, não precisa sair mapeando em cada maquina uma pasta compartilhada no servidor, basta apenas apontar seu sistema para o ip do servidor. Resultado disso: base de dados fica mais segura la no servidor e a velocidade fica incrível, não importando o tanto de maquinas q existam na rede.
O restante ele nao muda nada. Vc pode continuar usando seus indices do mesmo modo... mesmo rdd... tudo igual. Não muda nada.
Ele não funcionar no clipper. So xHarbour ou Harbour.
Vc primeiro deve migrar de clipper para (x)harbour. Ha dezenas e dezenas de topicos que falam sobre isso. Depois de tudo funcionando no harbour... ae vc vai pro leto!
Janio
O restante ele nao muda nada. Vc pode continuar usando seus indices do mesmo modo... mesmo rdd... tudo igual. Não muda nada.
Ele não funcionar no clipper. So xHarbour ou Harbour.
Vc primeiro deve migrar de clipper para (x)harbour. Ha dezenas e dezenas de topicos que falam sobre isso. Depois de tudo funcionando no harbour... ae vc vai pro leto!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
RDD LETO Sem Mistério
Ola amigos, olá Leonardo...
O assunto é esta postagem do Leonardo na primeira página deste tópico :
Alguém pode re-postar, pra que eu siga todos os passos e venha a ter sucesso??
Obrigado
O assunto é esta postagem do Leonardo na primeira página deste tópico :
Só agora eu comecei a precisar do LetoDB e como nao tenho o xharbour+Bcc do exemplo postado pelo Leonardo na primeira página, tentei usar o link q ele postou pra baixar e instalar os 2 produtos, porém http://www.4shared.com/file/67805627/21 ... ur100.html já não funciona mais, está quebradoCaso não tenha o xharbour e bcc configurado, pode baixar Clicando Aqui, que esse instalador faz tudo sozinho para você.
Alguém pode re-postar, pra que eu siga todos os passos e venha a ter sucesso??
Obrigado
lugab
RDD LETO Sem Mistério
Quero agradecer ao Janio pela resposta.
Realmente preciso migrar para o Harbour. A questão é sempre o tempo curto apesar de ja ter os tópicos que ajudam. :-´ Se alguém se interessar em fazer uma assessoria (cobrada) para que eu possa ganhar tempo, entre em contato por favor.
Obrigado.
lucio3105@hotmail.com
Realmente preciso migrar para o Harbour. A questão é sempre o tempo curto apesar de ja ter os tópicos que ajudam. :-´ Se alguém se interessar em fazer uma assessoria (cobrada) para que eu possa ganhar tempo, entre em contato por favor.
Obrigado.
lucio3105@hotmail.com
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
RDD LETO Sem Mistério
Amigo, veja este tópico:Lucio escreveu:Realmente preciso migrar para o Harbour.
Migrar Clipper para Harbour
Veja também:
LetoDb e Harbour, como usar
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
RDD LETO Sem Mistério
Estou com um problema, acho que pode ser um BUG no leto:
Fiz algumas alterações no meu sistema, ao ponto que está sendo possível conectar remotamente utilizando o leto.
O sistema até funciona, mas dá este bug ao tentar executar uma determinada função do programa que realiza diversas operações de leitura e escrita no banco de dados sequencialmente, e rapidamente.
As outras partes do sistema em que as operações no banco não são tão rápidas, funciona normalmente
Segue o log do letodb:
02/02/17 17:21:26: Leto DB Server has been started.
Leto DB Server v.2.17b3 ! INIT: DataPath=C:\SCL, ShareTables=0, MaxUsers=500, MaxTables=5000, CacheRecords=50
----------------->>>>> ERROR! thread2() leto_SockRecv LETO_MSGSIZE_LEN <<<<<<<<<-----
Alguém sabe como eu resolvo isto? :%
editado: só um detalhe, também estou começando a usar o leto agora, pode ser algum erro meu.. eu tenho que alterar alguma coisa na maneira como acesso o banco de dados?
Fiz algumas alterações no meu sistema, ao ponto que está sendo possível conectar remotamente utilizando o leto.
O sistema até funciona, mas dá este bug ao tentar executar uma determinada função do programa que realiza diversas operações de leitura e escrita no banco de dados sequencialmente, e rapidamente.
As outras partes do sistema em que as operações no banco não são tão rápidas, funciona normalmente
Segue o log do letodb:
02/02/17 17:21:26: Leto DB Server has been started.
Leto DB Server v.2.17b3 ! INIT: DataPath=C:\SCL, ShareTables=0, MaxUsers=500, MaxTables=5000, CacheRecords=50
----------------->>>>> ERROR! thread2() leto_SockRecv LETO_MSGSIZE_LEN <<<<<<<<<-----
Alguém sabe como eu resolvo isto? :%
editado: só um detalhe, também estou começando a usar o leto agora, pode ser algum erro meu.. eu tenho que alterar alguma coisa na maneira como acesso o banco de dados?
RDD LETO Sem Mistério
Obs.: o leto foi compilado em meu computador, eu não baixei ele pré-compilado (poderia ser erro de compilação?)
Nunca usei leto, na verdade não estou acostumado a programar em clipper / harbour.
Fiz um backup dos prg (fontes) antes de iniciar as alterações. Estou fazendo esses testes para saber se vai ficar bom com o letodb e portanto decidir se vou ou não implementar definitivamente o leto.
Complementando a mensagem anterior, hoje estava fazendo mais alguns testes, está dando erro na função
DBSEEK (QUANDO EXECUTADO DE UM COMPUTADOR REMOTO) ( Seek wposicao)
Este erro não acontece ao rodar o sistema no mesmo computador onde o leto está instalado, mesmo usando o RDDLETO.
Apesar disto, algumas telas do sistema onde deveria por exemplo aparecer uma lista com dados, simplesmente não aparece nada quando estou usando localmente (no mesmo computador onde o leto está instalado)
Alguém lança uma luz?
Nunca usei leto, na verdade não estou acostumado a programar em clipper / harbour.
Fiz um backup dos prg (fontes) antes de iniciar as alterações. Estou fazendo esses testes para saber se vai ficar bom com o letodb e portanto decidir se vou ou não implementar definitivamente o leto.
Complementando a mensagem anterior, hoje estava fazendo mais alguns testes, está dando erro na função
DBSEEK (QUANDO EXECUTADO DE UM COMPUTADOR REMOTO) ( Seek wposicao)
Este erro não acontece ao rodar o sistema no mesmo computador onde o leto está instalado, mesmo usando o RDDLETO.
Apesar disto, algumas telas do sistema onde deveria por exemplo aparecer uma lista com dados, simplesmente não aparece nada quando estou usando localmente (no mesmo computador onde o leto está instalado)
Alguém lança uma luz?
RDD LETO Sem Mistério
Já resolvi o problema.
Além de utilizar o leto, também migrei o sistema para utilizar o cdx.
Até agora nos testes (ainda preciso fazer mais testes) o sistema aparentemente está funcionando bem.
Não sei porque o problema acima aconteceu, mas depois que recompilei o leto e até agora não deu problema mais..
Antes o sistema usava NTX (quando deu o problema).
não conheço o leto nem procurei perder tempo com isso, mas a julgar pela mensagem do erro, ERROR! thread2() leto_SockRecv LETO_MSGSIZE_LEN
poderia ser erro de buffer overflow?
Se for erro de bof, existe a possibilidade de o servidor leto ser potencialmente vulnerável, o que vocês acham?
Quanto ao meu sistema ele lê um determinado arquivo ini e pode ser configurado para usar a rdd leto ou para ser utilizado da maneira tradicional facilmente.
As 'listas vazias' aconteciam porque ao usar o leto (ou cdx) a tabela era carregada no final do arquivo (eof). Então depois de localizar o problema com o debug, adicionei um pequeno trecho de código para resolver o problema.
Ainda preciso fazer testes mais exaustivos nas diversas funções que compõe
o sistema antes de 'colocar em produção' mas parece que está funcionando.
Agradeço aos que ajudaram.
Além de utilizar o leto, também migrei o sistema para utilizar o cdx.
Até agora nos testes (ainda preciso fazer mais testes) o sistema aparentemente está funcionando bem.
Não sei porque o problema acima aconteceu, mas depois que recompilei o leto e até agora não deu problema mais..
Antes o sistema usava NTX (quando deu o problema).
não conheço o leto nem procurei perder tempo com isso, mas a julgar pela mensagem do erro, ERROR! thread2() leto_SockRecv LETO_MSGSIZE_LEN
poderia ser erro de buffer overflow?
Se for erro de bof, existe a possibilidade de o servidor leto ser potencialmente vulnerável, o que vocês acham?
Quanto ao meu sistema ele lê um determinado arquivo ini e pode ser configurado para usar a rdd leto ou para ser utilizado da maneira tradicional facilmente.
As 'listas vazias' aconteciam porque ao usar o leto (ou cdx) a tabela era carregada no final do arquivo (eof). Então depois de localizar o problema com o debug, adicionei um pequeno trecho de código para resolver o problema.
Ainda preciso fazer testes mais exaustivos nas diversas funções que compõe
o sistema antes de 'colocar em produção' mas parece que está funcionando.
Agradeço aos que ajudaram.
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
RDD LETO Sem Mistério
boa tarde prezados ..
graças ao nosso amigo Itamar .. consegui migrar para o LETODB ficou muito bom ..
porem eu notei que no servidor windows server 2019 o sistema ficou bastante lento em rede .. existe alguma configuração ou algo que eu possa fazer para melhorar essa velocidade ?
a lentidão é em uma rotina de vendas onde eu crio um arquivo temporario para alteração do mesmo ... nada muito sofisticado heheh e bem corriqueiro por sinal ..
se alguem tiver uma luz ai só prender o grito !
segue uma das rotinas que fica lento...
abraço a todos!
Deivid
graças ao nosso amigo Itamar .. consegui migrar para o LETODB ficou muito bom ..
porem eu notei que no servidor windows server 2019 o sistema ficou bastante lento em rede .. existe alguma configuração ou algo que eu possa fazer para melhorar essa velocidade ?
a lentidão é em uma rotina de vendas onde eu crio um arquivo temporario para alteração do mesmo ... nada muito sofisticado heheh e bem corriqueiro por sinal ..
se alguem tiver uma luz ai só prender o grito !
segue uma das rotinas que fica lento...
Código: Selecionar todos
tmp := "tm" + substr(time(),4,2) + substr(time(),7,2) + "apv" && ALTERACAO PEDIDO VENDA
cdx := "tm" + substr(time(),4,2) + substr(time(),7,2) + "apv"
aDBF := pdp->(dbstruct()) // cria a estrutura vazia
dbcreate( cPathLeto+tmp, aDBF, "LETO")
use (tmp) alias tmp exclusive new
index on cc_codped tag ptmcx_01 to (cdx)
index on cc_codprod tag ptmcx_02 to (cdx)
index on (cc_codprod + cc_codped) tag ptmcx_03 to (cdx)
index on cc_descr tag ptmcx_04 to (cdx)
select TMP
ordsetfocus("PTMCX_01")
select PDP
PDP->(ordsetfocus("PDPCX_01"),DBseek(c_codped))
do while cc_codped == c_codped
aList := {}
FOR nCont = 1 TO FCount()
AAdd( aList, FieldGet( nCont ) )
NEXT
select TMP
ADIC_REG();bloq_reg()
FOR nCont = 1 TO FCount()
FieldPut( nCont, aList[ nCont ] )
NEXT
DBCOMMIT()
DBUNLOCK()
select PDP
DBSKIP()
enddo
abraço a todos!
Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
RDD LETO Sem Mistério
Vixe...
Assim fica lento geral mesmo.
1) Coloque sempre ! Eof()
2) Não precisa criar array, faça direto
3) Esqueça nesse caso lock, unlock e commit, é temporário, quer controle de rede pra que? só pra ficar lento?
4) Pra que criar índice antes? pra perder tempo controlando atualização?
Aprenda com SQL
O comando extrai os dados, e indexa no final.
Índices são pra acelerar extração de dados e não pra trazer na ordem que quer.
Assim fica lento geral mesmo.
1) Coloque sempre ! Eof()
2) Não precisa criar array, faça direto
3) Esqueça nesse caso lock, unlock e commit, é temporário, quer controle de rede pra que? só pra ficar lento?
4) Pra que criar índice antes? pra perder tempo controlando atualização?
Aprenda com SQL
O comando extrai os dados, e indexa no final.
Índices são pra acelerar extração de dados e não pra trazer na ordem que quer.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
RDD LETO Sem Mistério
Acelerar ao máximo ?
Tenho dúvida sobre mudança de índice, então talvez isto:
Se só tem um pedido, porque vai indexar por pedido, e por produto + pedido ?
Tenho dúvida sobre mudança de índice, então talvez isto:
Código: Selecionar todos
cTmp := "temp"
SELECT PDP
OrdSetFocus("PDPCX_01")
SEEK c_codPed
INDEX ON CC_CODPROD TAG PRODUTO TO ( cTmp ) WHILE CC_CODPED == c_CodPed
OrdSetFocus("PDPCX_01")
SEEK c_codPed
INDEX ON CC_DESCR TAG NOME TO ( cTmp ) WHILE CC_CODPED == c_CodPed
SET INDEX TO ( cTmp )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
RDD LETO Sem Mistério
Neste caso é um pedido somente porém aí trás os itens dentro do pedido para alteração ..
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
RDD LETO Sem Mistério
Olá!
Acredito que neste caso não está usando o LetoDbf.
Parece que está usando local.
Aqui vc cria o arquivo com cPathLeto que neste caso não precisa.
dbcreate( cPathLeto+tmp, aDBF, "LETO")
Depois abre sem o arquivo sem cPathLeto e sem o FLAG(parametro) -> VIA LETO
use (tmp) alias tmp exclusive new
É bom usar assim para se certificar.
use (tmp) alias tmp exclusive new VIA "LETO" //Ok !?
Append() não precisa de bloq_req()
dbcommit() não precisa.
Veja ai se está usando o LetoDb mesmo. pq sua mensagem ficou ambígua:
Eu uso aqui, não vejo tanta disparidade usando LetoDb no meu computador win10 e no outro do cliente win10.
Não uso mais windows server nenhum. Não tem mais necessidade. Caso precise de mais velocidade monto o LetoDb no Linux que é bem mais rápido, mas é muito mais rápido mesmo.
Saudações,
Itamar M. Lins Jr.
Acredito que neste caso não está usando o LetoDbf.
Parece que está usando local.
Aqui vc cria o arquivo com cPathLeto que neste caso não precisa.
dbcreate( cPathLeto+tmp, aDBF, "LETO")
Depois abre sem o arquivo sem cPathLeto e sem o FLAG(parametro) -> VIA LETO
use (tmp) alias tmp exclusive new
É bom usar assim para se certificar.
use (tmp) alias tmp exclusive new VIA "LETO" //Ok !?
Append() não precisa de bloq_req()
dbcommit() não precisa.
Veja ai se está usando o LetoDb mesmo. pq sua mensagem ficou ambígua:
Depois vc diz:consegui migrar para o LETODB ficou muito bom ..
Não deu pra entender ou tá bom ou tá ruim.porem eu notei que no servidor windows server 2019 o sistema ficou bastante lento em rede ..
Eu uso aqui, não vejo tanta disparidade usando LetoDb no meu computador win10 e no outro do cliente win10.
Não uso mais windows server nenhum. Não tem mais necessidade. Caso precise de mais velocidade monto o LetoDb no Linux que é bem mais rápido, mas é muito mais rápido mesmo.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
RDD LETO Sem Mistério
Está tudo em Leto .. até porque se eu não colocar o pathleto conforme está aí quando eu seto no servidor ele não funciona .. dá erro !! Na parte que falei q ficou bom foi que agora funciona de qq lugar sem precisar usar o RDP do Windows .. funcionou perfeitamente tudo .. só essa pequena lentidão na alteração dos pedidos de venda e compra.. mais vou tirar o commit e o Unlock .. realmente não há necessidade e nem me fixei nisto .. o arquivo é exclusivo … vou fazer as modificações e ver como vai se comportar em rede .. valeu amigo!! Tá ficando muito legal … próximo passo ou instalar a base no Linux e testar .. imagino q vai ficar top mesmo .. servidor em Linux é top! Obrigado por me enquanto .: abraço a todos !
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
RDD LETO Sem Mistério
Bom dia Prezados ...
FIZ o teste com LETO via acesso remoto .. ficou muuuuuito lento a conexão, via RDP ainda no meu caso é a melhor opção ... bem mais rapido !!
tem alguma configuração que eu possa mudar para melhorar a performasse ??
Att,
Deivid
FIZ o teste com LETO via acesso remoto .. ficou muuuuuito lento a conexão, via RDP ainda no meu caso é a melhor opção ... bem mais rapido !!
tem alguma configuração que eu possa mudar para melhorar a performasse ??
Att,
Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX

