Uso de letodb
Moderador: Moderadores
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Uso de letodb
Bom dia a todos.
Itamar, claro que se vcs estão usando com sucesso o Leto é uma boa opção. Talvez tenha lido algo e imagino que tenha sido questão de adaptação.
Ter performance similar ao SQL é muito interessante. Disso eu não sabia. Embora nem precise disso com bases de pequeno tamanho. Mas isso de reindexar realmente é chato, mesmo sendo pouco necessário quando se usa CDX.
Saudações,
Mario.
Itamar, claro que se vcs estão usando com sucesso o Leto é uma boa opção. Talvez tenha lido algo e imagino que tenha sido questão de adaptação.
Ter performance similar ao SQL é muito interessante. Disso eu não sabia. Embora nem precise disso com bases de pequeno tamanho. Mas isso de reindexar realmente é chato, mesmo sendo pouco necessário quando se usa CDX.
Saudações,
Mario.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao abrir formulários em rede.
Olá!
SQL precisa ENCHER uma ARRAY com o RESULTADO(para manipular). E depois separar o que foi modificado e enviar para o servidor, DBF não precisa.
Tudo que vc alterar nos BROWSERs por exemplo vai precisar marcar a linha modificada e reenviar para o servidor para gravar... Eu uso muito esse recurso. DBF(letodbf) não precisa.
SQL(a linguagem) é melhor por conta de muitos fatores, mas não todos.
SQL é melhor, mas não é por conta da velocidade e nem é por conta da segurança se comparado com LetoDBf.
Saudações,
Itamar M. Lins Jr.
Similar não, melhor.Ter performance similar ao SQL é muito interessante.
SQL precisa ENCHER uma ARRAY com o RESULTADO(para manipular). E depois separar o que foi modificado e enviar para o servidor, DBF não precisa.
Tudo que vc alterar nos BROWSERs por exemplo vai precisar marcar a linha modificada e reenviar para o servidor para gravar... Eu uso muito esse recurso. DBF(letodbf) não precisa.
SQL(a linguagem) é melhor por conta de muitos fatores, mas não todos.
SQL é melhor, mas não é por conta da velocidade e nem é por conta da segurança se comparado com LetoDBf.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Lentidão ao abrir formulários em rede.
BOM dia
Desculpe a ignorancia.
tentei usar letodb ou uma outra versao (parece que tem 2 )
uso o XHB comercial ANTIGAO
com
REQUEST RMDBFCDX // Utilize essa linha para utilizar a rotina para filtros rapidos
RddSetDefault("RMDBFCDX") // Utilize esse linha para definir CDX como padrao usando fitros otimizados
fica MUITO rápido
a uns 15 anos rs quando passei a usar tive um ganho de 30% em performance sobre o CDX
para usar o LE... ele é em harbour e achei que ficou +++ lento que o XHB em rede 2 pcs BONS
pode ser que NAO tenha usado corretamente.
Desculpe a ignorancia.
tentei usar letodb ou uma outra versao (parece que tem 2 )
uso o XHB comercial ANTIGAO
com
REQUEST RMDBFCDX // Utilize essa linha para utilizar a rotina para filtros rapidos
RddSetDefault("RMDBFCDX") // Utilize esse linha para definir CDX como padrao usando fitros otimizados
fica MUITO rápido
a uns 15 anos rs quando passei a usar tive um ganho de 30% em performance sobre o CDX
para usar o LE... ele é em harbour e achei que ficou +++ lento que o XHB em rede 2 pcs BONS
pode ser que NAO tenha usado corretamente.
Lentidão ao abrir formulários em rede.
Isso acontecia muito com o bom e velho clipper, que o Ramalho o tenha.
Porém era problema memso de estrutura de iniciante e a rede do cliente era ruim e os pcs mais ainda.
Agora na minigui melhoru um bocado e como não uso mais browse e só grid nem se nota a velocidade caindo, agora se usar o LetoDB e usar algo que fique pesquisando de forma convencional ele demora mais ainda seja NTX, CDX, SDX e outros.
Abre-se o banco de dados for ada janela da aplicação pois separar dados de telas é o segredo para quem veio do clipper para HMG e ai migrou de vez para a HMGS.
Espero ter sido claro e ajudado!
Porém era problema memso de estrutura de iniciante e a rede do cliente era ruim e os pcs mais ainda.
Agora na minigui melhoru um bocado e como não uso mais browse e só grid nem se nota a velocidade caindo, agora se usar o LetoDB e usar algo que fique pesquisando de forma convencional ele demora mais ainda seja NTX, CDX, SDX e outros.
Abre-se o banco de dados for ada janela da aplicação pois separar dados de telas é o segredo para quem veio do clipper para HMG e ai migrou de vez para a HMGS.
Espero ter sido claro e ajudado!
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao abrir formulários em rede.
Olá!
Tem como colocar os códigos aqui para demonstrar o problema ?
O pessoal fala, mas não demostra o problema seja com LetoDb ou com LetoDbf.
Eu e muita gente usa e não temos problema nenhum de espera é tudo instantâneo.
O que é pesquisar de forma convencional com LetoDbf ?
Saudações,
Itamar M. Lins Jr.
Não entendi nada.agora se usar o LetoDB e usar algo que fique pesquisando de forma convencional ele demora mais ainda seja NTX, CDX, SDX e outros.
Tem como colocar os códigos aqui para demonstrar o problema ?
O pessoal fala, mas não demostra o problema seja com LetoDb ou com LetoDbf.
Eu e muita gente usa e não temos problema nenhum de espera é tudo instantâneo.
O que é pesquisar de forma convencional com LetoDbf ?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao abrir formulários em rede.
Olá!
Qual é o segredo ?
O que é separar dados de telas ? pq é diferente do clipper ?
Saudações,
Itamar M. Lins Jr.
Aqui entendi menos ainda.Abre-se o banco de dados for ada janela da aplicação pois separar dados de telas é o segredo para quem veio do clipper para HMG
Qual é o segredo ?
O que é separar dados de telas ? pq é diferente do clipper ?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao abrir formulários em rede.
Olá!
E que bobagem é essa de acesso ao HD ?
Abre ai o CHROME num CPU com 4Gib, vê se sobra alguma coisa para outras aplicações, como vc sabe se o windows não faz swap em disco ? Tá desligado isso no Windows ?
Observe o tamanho de um arquivo no SPOOL de impressão com 20 páginas por exemplo, vc acha que isso não pesa como um todo na ora que está tudo em funcionamento ?
Etc, etc, etc e é claro etc!
Quando pedimos em SQL algum resultado ele lê do além do CÉU, da varanda, do jardim as informações... DBF lê do banheiro, da cozinha só pode rsrsrsr!
Tudo irá depende de MÚLTIPLOS fatores.
Saudações,
Itamar M. Lins Jr.
E que bobagem é essa de acesso ao HD ?
Abre ai o CHROME num CPU com 4Gib, vê se sobra alguma coisa para outras aplicações, como vc sabe se o windows não faz swap em disco ? Tá desligado isso no Windows ?
Observe o tamanho de um arquivo no SPOOL de impressão com 20 páginas por exemplo, vc acha que isso não pesa como um todo na ora que está tudo em funcionamento ?
Etc, etc, etc e é claro etc!
Quando pedimos em SQL algum resultado ele lê do além do CÉU, da varanda, do jardim as informações... DBF lê do banheiro, da cozinha só pode rsrsrsr!
Tudo irá depende de MÚLTIPLOS fatores.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso de letodb
Movido para banco de dados.
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/
Uso de letodb
boa tarde
TENTANDO testar denovo o letodb
a BARRA esta correta ? / ou \
preciso referenciar o \dbdc ?
estou TESTANDO no Proprio pc (servidor)
sera o meu letodb.exe do servidor ? ele tem que ser executado em alguma pasta específica ?
estou executando ele a partir do: C:\letodbtray\bin\letodb.exe
o arquivo..: \dbdc\paiva\sdata.dbf
fala conectado ao servidor: //192.168.0.85:2812 ++ nao acho com o FFile (depois vejo isso) e da esse erro ao abrir o arquivo
Error DBFCDX/1001 Erro de abertura: //192.168.0.85:2812\paiva\sdata.dbf (DOS Error 53)
Called from BARRA.PRG->LOCKERRHAN(1774)
Called from BARRA.PRG->(b)INITHANDL$(1765)
Called from barcode.prg->LOCKERRHAN(1251)
Called from barcode.prg->(b)INITHANDL$(1242)
Called from ->DBUSEAREA(0)
Called from PROMULT.PRG->PROUSE(236)
Called from gdata.prg->GDATA(21)
Called from seletor.prg->MAIN(3491)
HwGUI 2.17 xHarbour 1.2.3 Intl. (SimpLex) (Build 20150224)
Date:03/04/24
Time:12:46:30
INI do letoDB
[MAIN]
Port = 2812
DataPath = c:\dbdc
Default_Driver = CDX
Lower_Path = 0 ; 1, converter todos os caminhos para minúsculas
EnableFileFunc = 1 ; 1, Ativa leto_file(), leto_ferase(), leto_frename()
EnableAnyExt = 0 ; 1, é Ativado a criação de arquivos de dados (DBF)
Pass_for_Login = 0 ; 1, autenticação do usuário é necessária p/ acessar
Pass_for_Manage = 0 ; 1, a autenticação necessária p/ func Leto_mggetinfo()
Pass_for_Data = 0 ; 1, a autenticação necessária acesso aos dados
Pass_File = "leto_users" ; caminho, arquivo de informações dos usuários
Crypt_Traffic = 0 ; 1, passa os dados pela a rede cripitografado
Share_Tables = 1 ; 1, uso das bases compartilhado com outras aplicacoes
[DATABASE]
DataPath = c:\dbdc
Driver = CDX
TENTANDO testar denovo o letodb
a BARRA esta correta ? / ou \
preciso referenciar o \dbdc ?
estou TESTANDO no Proprio pc (servidor)
sera o meu letodb.exe do servidor ? ele tem que ser executado em alguma pasta específica ?
estou executando ele a partir do: C:\letodbtray\bin\letodb.exe
o arquivo..: \dbdc\paiva\sdata.dbf
fala conectado ao servidor: //192.168.0.85:2812 ++ nao acho com o FFile (depois vejo isso) e da esse erro ao abrir o arquivo
Error DBFCDX/1001 Erro de abertura: //192.168.0.85:2812\paiva\sdata.dbf (DOS Error 53)
Called from BARRA.PRG->LOCKERRHAN(1774)
Called from BARRA.PRG->(b)INITHANDL$(1765)
Called from barcode.prg->LOCKERRHAN(1251)
Called from barcode.prg->(b)INITHANDL$(1242)
Called from ->DBUSEAREA(0)
Called from PROMULT.PRG->PROUSE(236)
Called from gdata.prg->GDATA(21)
Called from seletor.prg->MAIN(3491)
HwGUI 2.17 xHarbour 1.2.3 Intl. (SimpLex) (Build 20150224)
Date:03/04/24
Time:12:46:30
INI do letoDB
[MAIN]
Port = 2812
DataPath = c:\dbdc
Default_Driver = CDX
Lower_Path = 0 ; 1, converter todos os caminhos para minúsculas
EnableFileFunc = 1 ; 1, Ativa leto_file(), leto_ferase(), leto_frename()
EnableAnyExt = 0 ; 1, é Ativado a criação de arquivos de dados (DBF)
Pass_for_Login = 0 ; 1, autenticação do usuário é necessária p/ acessar
Pass_for_Manage = 0 ; 1, a autenticação necessária p/ func Leto_mggetinfo()
Pass_for_Data = 0 ; 1, a autenticação necessária acesso aos dados
Pass_File = "leto_users" ; caminho, arquivo de informações dos usuários
Crypt_Traffic = 0 ; 1, passa os dados pela a rede cripitografado
Share_Tables = 1 ; 1, uso das bases compartilhado com outras aplicacoes
[DATABASE]
DataPath = c:\dbdc
Driver = CDX
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Uso de letodb
Olá!
Como está o comando USE ou dbUseArea() ??
Saudações,
Itamar M. Lins Jr.
Como está o comando USE ou dbUseArea() ??
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Uso de letodb
Obrigado Itamar
if select( parquivo ) == 0
*msgstop("use plocalarq = "+plocalarq)
use (plocalarq) NEW
else
select (parquivo)
*msgstop("ja existia aberto "+parquivo)
endif
if neterr() ...
if select( parquivo ) == 0
*msgstop("use plocalarq = "+plocalarq)
use (plocalarq) NEW
else
select (parquivo)
*msgstop("ja existia aberto "+parquivo)
endif
if neterr() ...
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Uso de letodb
Olá!
Ta parecendo que não está ativando(usando) o letodb
Tá conectando ?
Teste assim, com PRG bem pequeno. Não tem como saber ai seu código como está.
E vc usa link qual LIB no .exe ? Pq eu não sei como vc fez para criar a LIB do letodbf com xHarbour.
Saudações,
Itamar M. Lins Jr.
Ta parecendo que não está ativando(usando) o letodb
Tá conectando ?
Código: Selecionar todos
REQUEST DBFCDX, DBFFPT, DBFDBT, LETO
Function main
LOCAL cServidor := "\\192.168.0.85:2812\"
RDDSetDefault("LETO")
nConect := leto_Connect( cServidor )
use paiva\sdata new shared
browse()
E vc usa link qual LIB no .exe ? Pq eu não sei como vc fez para criar a LIB do letodbf com xHarbour.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Uso de letodb
Aleluia MUITO Obrigado
um passo de cada vez
estou conseguindo abrir os arquivos...
estrutura física: \dbdc ugempr.dbf
\dbdc\paiva sdata.dbf
\dbdc\usr\sfa crloja.dbf
abriu arquivo: //192.168.0.85:2812\ugempr
abriu arquivo: //192.168.0.85:2812\paiva\sdata
abriu arquivo: //192.168.0.85:2812\usr\sfa\crloja
AGORA estou tentando fazer o if File() usando o comando leto_file() Tem que ser com ele correto ?
xfile = [//192.168.0.85:2812\paiva\sdata.dbf]
if leto_file(xfile)
NAO encontra o arquivo
endif
xfile = [\paiva\sdata.dbf]
if leto_file(xfile)
NAO encontra o arquivo
endif
IF LETO_FILE("//192.168.0.49:2812\usr\sfa\crloja.dbf")
NAO encontra o arquivo
endif
IF LETO_FILE("\usr\sfa\crloja.dbf")
NAO encontra o arquivo
endif
qual seria a forma CORRETA ?
EU TAMBEM uso MUITO: copy file, USE , etc
use \dbdc\ugmenu
copy file \dbdc\wcrpeda.dbf to &pdir\crpedad.dbf
xarqe = pdir+[\crcori1.cdx]
erase &xarqe
index on empresa+filial+usuario to &pdir\crcori1
quero fazer funcionar cada comando para poder ver a DIFICULDADE para Converter
acredito que o EXE deve funcionar com DBF e com o LETO
através de um parâmetro de configuração no meu caso a variável psql = [leto] ou [dbf]
Paiva
um passo de cada vez
estou conseguindo abrir os arquivos...
estrutura física: \dbdc ugempr.dbf
\dbdc\paiva sdata.dbf
\dbdc\usr\sfa crloja.dbf
abriu arquivo: //192.168.0.85:2812\ugempr
abriu arquivo: //192.168.0.85:2812\paiva\sdata
abriu arquivo: //192.168.0.85:2812\usr\sfa\crloja
AGORA estou tentando fazer o if File() usando o comando leto_file() Tem que ser com ele correto ?
xfile = [//192.168.0.85:2812\paiva\sdata.dbf]
if leto_file(xfile)
NAO encontra o arquivo
endif
xfile = [\paiva\sdata.dbf]
if leto_file(xfile)
NAO encontra o arquivo
endif
IF LETO_FILE("//192.168.0.49:2812\usr\sfa\crloja.dbf")
NAO encontra o arquivo
endif
IF LETO_FILE("\usr\sfa\crloja.dbf")
NAO encontra o arquivo
endif
qual seria a forma CORRETA ?
EU TAMBEM uso MUITO: copy file, USE , etc
use \dbdc\ugmenu
copy file \dbdc\wcrpeda.dbf to &pdir\crpedad.dbf
xarqe = pdir+[\crcori1.cdx]
erase &xarqe
index on empresa+filial+usuario to &pdir\crcori1
quero fazer funcionar cada comando para poder ver a DIFICULDADE para Converter
acredito que o EXE deve funcionar com DBF e com o LETO
através de um parâmetro de configuração no meu caso a variável psql = [leto] ou [dbf]
Paiva
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Uso de letodb
Olá!
Não coloque o endereço. //192...
xfile = [//192.168.0.85:2812\paiva\sdata.dbf] //<- assim tá errado!
Não precisa ficar usando //192... O leto já sabe disso é desnecessário, vai ficar \\192.168.0.85:2812\ \\192.168.0.85:2812\paiva\sdata.dbf DUAS VEZES! Pq já foi definido.
Saudações,
Itamar M. Lins Jr.
Não coloque o endereço. //192...
xfile = [//192.168.0.85:2812\paiva\sdata.dbf] //<- assim tá errado!
Código: Selecionar todos
xFile := "paiva\sdata.dbf" //<- use assim
if leto_file(xfile)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Uso de letodb
Itamar.
estou testando no servidor.
estou apanhando no file() e no erase
no file seto \paiva\sdata.dbf ++ dentro da funcao tiro a 1 barra
+++ mesmo passando a variavel ou a constante "\paiva\sdata.cdx" nao funciona
leto_ferase("\usr\sfa\leto.cdx") NAO deleta
leto_ferase("usr\sfa\leto.cdx") NAO deleta
* seta data a partir do arq \paiva\sdata ( do servidor)
xarq = [\paiva\sdata.dbf]
if Ffile(xarq)
function ffile(xfile)
if at(".DBF", upper(xfile)) > 0
xfile = alltrim(substr(xfile,2,70))
IF LETO_FILE(xfile)
msgstop("leto_file encontrou: "+xfile)
return(.t.)
ELSE
msgstop("leto_file NAO encontrou: "+xfile)
return(.f.)
endif
else
if file(xfile)
return .t.
else
return .f.
endif
ENDIF
return(.f.)
estou testando no servidor.
estou apanhando no file() e no erase
no file seto \paiva\sdata.dbf ++ dentro da funcao tiro a 1 barra
+++ mesmo passando a variavel ou a constante "\paiva\sdata.cdx" nao funciona
leto_ferase("\usr\sfa\leto.cdx") NAO deleta
leto_ferase("usr\sfa\leto.cdx") NAO deleta
* seta data a partir do arq \paiva\sdata ( do servidor)
xarq = [\paiva\sdata.dbf]
if Ffile(xarq)
function ffile(xfile)
if at(".DBF", upper(xfile)) > 0
xfile = alltrim(substr(xfile,2,70))
IF LETO_FILE(xfile)
msgstop("leto_file encontrou: "+xfile)
return(.t.)
ELSE
msgstop("leto_file NAO encontrou: "+xfile)
return(.f.)
endif
else
if file(xfile)
return .t.
else
return .f.
endif
ENDIF
return(.f.)

