Clipper On Line • Ver Tópico - Usando LetoDbf

Usando LetoDbf

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Usando LetoDbf

Mensagempor Itamar M. Lins Jr. » 25 Ago 2021 16:15

Olá!

Levarei em consideração que a pessoa está usando o hbmk2 do Harbour e tem o git instalado.

Primeiro vamos pegar o LetoDb[f] do Elch.
itamar@itamar-desktop:~/dev$ git clone https://github.com/elchs/LetoDBf.git LetoDBf
Cloning into 'LetoDBf'...
remote: Enumerating objects: 2658, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 2658 (delta 1), reused 3 (delta 1), pack-reused 2652
Receiving objects: 100% (2658/2658), 2.18 MiB | 669.00 KiB/s, done.
Resolving deltas: 100% (2087/2087), done.


No LINUX porque no WINDOWS é a mesma coisa.
c:\dev\>git clone https://github.com/elchs/LetoDBf.git LetoDBf

Segundo vamos GERAR a LIB que é LINKADA junto com os nossos PRG's (aparecem alguns warnings no GCC 10.3) eu removi.
itamar@itamar-desktop:~/dev/LetoDBf$ hbmk2 rddleto.hbp
itamar@itamar-desktop:~/dev/LetoDBf$ ls lib
librddleto.a
itamar@itamar-desktop:~/dev/LetoDBf$

No windows é a mesma coisa:
c:\dev\letodbf\hbmk2 rddleto.hbp
Vai criar a LIB na pasta lib\librddleto.a

Terceiro vamos criar(compilar) o SERVIDOR LetoDb[f], No Linux e também no Windows o mesmo comando.
itamar@itamar-desktop:~/dev/LetoDBf$ hbmk2 letodbsvc.hbp 

Vai criar o servidor LETODB.EXE na pasta BIN (LINUX não tem a extensão .exe)

Windows mesmo comando -> HBMK2 LETODBSVC.HBP
Vai criar dentro da pasta BIN\ -> c:\dev\letodbf\bin\letodb.exe

PRONTO ! Primeira ETAPA concluída.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Usando LetoDbf

Mensagempor Itamar M. Lins Jr. » 25 Ago 2021 16:16

Olá !
Segunda parte!
Agora vamos configurar o SERVIDOR letodb.exe
Editamos o arquivo letodb.ini para CERTIFICAR que ele vai CONSEGUIR VER a pasta RAIZ onde estão os DBF's
Por exemplo, vamos supor que os DBF's estejam na pasta RAIZ C:\DataBase e que esta pasta tenha varias subpastas C:\DataBase\Data2020, C:\DataBase\Data2021...

Então editarei o letodb.ini na CHAVE DataPath:
DataPath = /mnt/sun/PRO-CNC/DATEN

Para:
No Windows:
DataPath = C:\DataBase 

No Linux:
DataPath = /DataBase 

Isso é fundamental sem essa PRIMEIRA configuração o LETODB não VAI INICIAR. Precisa da pasta de fato existir.
As subpastas são VISTAS automaticamente pelo LETODB.

Instalando o servidor LetoDB
No Linux:
itamar@itamar-desktop:~/dev/LetoDBf/bin$ sudo ./leto.sh
LetoDB runs

No Windows: ATENÇÃO que precisa ser ADMINISTRADOR. Pq é um serviço que ficará instalado no registro.
c:\dev\letodbf\bin\letodb install

Conectando com o servidor
Agora vamos conectar com o servidor.

REQUEST LETO, DBFCDX
#include "dbinfo.ch"
#include "rddleto.ch"

FUNCTION MAIN
RDDSETDEFAULT( "LETO" )
cPath := "//127.0.0.1:2812/"
IF leto_Connect( cPath, /*user*/, /*pass*/, nTimeOut /*timeout*/, nHotBuf /*hot buffer*/ ) == -1
         ALERT("Servidor LetoDb não foi encontrado: " + leto_Connect_Err( .T. ) )
         QUIT
ENDIF
...


COMPILAR indique onde está o letodb.hbc
hbmk2 meu_teste.prg \dev\letodbf\letodb.hbc

No nosso PRG no comando USE colocamos:
use estoque.dbf new shared
use clientes.dbf new shared

Atenção ! Não colocar
use c:\database\estoque.dbf new shared 
//ou na pasta que não precisa mais estar compartilhada.
use f:\database\estoque.dbf new shared
vai dar erro de abertura.
E no caso de abrir a subpasta(subdir) coloque apenas a subpasta,
 use Data2020\estoque.dbf new shared


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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Usando LetoDbf

Mensagempor Itamar M. Lins Jr. » 25 Ago 2021 17:34

Olá!
Outras dicas.
Parar o servidor no windows.
net stop letodbf_service

Iniciar o servidor no windows
net start letodbf_service

Remover o Letodbf da maquina windows
sc delete letodbf_service


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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Usando LetoDbf

Mensagempor Ivone Lopes da Silva » 26 Ago 2021 10:53

Obrigada.

Eu já tinha conseguido fazer a conexão e testes com DBF utilizando as postagens do fórum (são muitas), mas com o tutorial vai facilitar muito para quem estiver começando a estudar o assunto e também para quem tem pouca experiência.
Bom dia
Ivone Lopes da Silva
Colaborador

Colaborador
 
Mensagens: 75
Data de registro: 23 Out 2004 21:57
Cidade/Estado: São João da Boa Vista/SP
Curtiu: 8 vezes
Mens.Curtidas: 8 vezes

Usando LetoDbf

Mensagempor RamonXHB » 13 Set 2021 17:20

Boa tarde.

Fiz uma tradução do Manual do LetoDBF do Elch, não sou usuário do mesmo, mas se puder facilitar para alguém, bom proveito !!!
Anexos
Manual LetoDBF em Português - By Elch.pdf
(959.29 KiB) Baixado 112 vezes
Ramon A. Körber Jr.
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Avatar de usuário

RamonXHB
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 152
Data de registro: 03 Mar 2007 14:55
Curtiu: 10 vezes
Mens.Curtidas: 3 vezes

Usando LetoDbf

Mensagempor Alexandre Silva » 29 Jul 2022 16:32

Entao,,,
Ao tentar criar a lib e gerar o letodb.exe estou tendo esse erro
Erro: Executando compilador C/C++. 1

Como proceder ?

D:/LetoDBf-master/source/client/leto1.c:7845:20: warning: assignment makes pointer from integer without a cast [enabled by default]
D:/LetoDBf-master/source/client/leto1.c:7848:20: error: 'DBI_TRANSREC' undeclared (first use in this function)
D:/LetoDBf-master/source/client/leto1.c:7861:66: error: 'DBTF_CPYCTR' undeclared (first use in this function)
D:/LetoDBf-master/source/client/leto1.c: In function 'HB_FUN_LETO_DBJOIN':
D:/LetoDBf-master/source/client/leto1.c:8284:10: warning: implicit declaration of function 'hb_rddFindDrv' [-Wimplicit-function-declaration]
D:/LetoDBf-master/source/client/leto1.c:8284:19: warning: assignment makes pointer from integer without a cast [enabled by default]
D:/LetoDBf-master/source/client/leto1.c: In function 'HB_FUN_LETO_DBUPDATE':D:/LetoDBf-master/source/client/leto1.c:8695:13: warning: implicit declaration of function hb_itemCompare' [-Wimplicit-function-declaration]hbmk2[rddleto]: Erro: Executando compilador C/C++. 1
D:\hb32\comp\mingw\bin\gcc.exe -c -O3 -march=i586 -mtune=pentiumpro -fomit-frame-pointer  -DUSE_PMURHASH=1 -DUSE_LZ4=1 -W -Wall -pipe -ID:/hb32/include -I"
D:/LetoDBf-master/include" -I"D:/LetoDBf-master/source/3rd/lz4/lib" C:/Users/PC/AppData/Local/Temp/hbmk_4dvtga.dir/rddsys.c "
D:/LetoDBf-master/source/client/letocl.c" "
D:/LetoDBf-master/source/client/leto1.c" "
D:/LetoDBf-master/source/client/letomgmn.c" "D:/LetoDBf-master/source/common/blowfish.c" "D:/LetoDBf-master/source/common/common_c.c"
"D:/LetoDBf-master/source/3rd/lz4/lib/lz4.c" "D:/LetoDB
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

Usando LetoDbf

Mensagempor Itamar M. Lins Jr. » 29 Jul 2022 17:41

Olá!
Como proceder ?

(aparecem alguns warnings no GCC 10.3)
Se seguiu o tutorial a risca, não dá esse erro.
Informe sua versão de GCC, e qual é seu Harbour. Use a versão que manda o tutorial. Da versão 7 até a 10.3 deverá funcionar.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Usando LetoDbf

Mensagempor Alexandre Silva » 29 Jul 2022 19:34

Show de bola, Muito Obrigado !!
Atualizei o Harbour e compilei a lib e o letodb, sem mensagens..
Esta funcionando..
Agora estou tendo que adaptar o caminhos..
tenho muitos arquivos locais,mas alguns em outras pastas...

É muito comum meus sistemas ter arquivos locais e alguns numa pasta acima.. nao abaixo
exemplo
c:\matriz que usa arquivos das filiais
c:\filial1
c:\filial2

Entao pelo jeito vou ter que definir o path como c:\ e tratar todos como subpastas...?

Outra coisa No arquivo.ini qual diferença desses 2 PATH ?
DATAPATH = C:\TESTE\
..
..
[DATABASE]
DataPath = D:\TESTE\
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

Usando LetoDbf

Mensagempor Itamar M. Lins Jr. » 30 Jul 2022 22:17

Olá!
Entao pelo jeito vou ter que definir o path como c:\ e tratar todos como subpastas...?

Agora precisa corrigir.
Coloque tudo em uma pasta(diretório) com outros subdiretórios.
Colocar em c:\ o LetoDB para enxergar não é aconselhável, e pode degradar a performasse.
Até para backup é melhor. Ficar espalhando tudo em pastas na raiz não é organizado.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Usando LetoDbf

Mensagempor carlaoonline » 01 Ago 2022 09:33

Bom dia!

Alexandre Silva escreveu:Outra coisa No arquivo.ini qual diferença desses 2 PATH ?


A princípio, as referências apontam que o primeiro é o caminho do banco de dados DBF e o segundo seria para trabalhar em conjunto com um Servidor Samba. No meu caso, que não uso SMB_SERVER, deixo desabilitado e funciona perfeito.
Avatar de usuário

carlaoonline
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 190
Data de registro: 24 Ago 2014 22:38
Cidade/Estado: Porto Alegre-RS
Curtiu: 73 vezes
Mens.Curtidas: 22 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 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