Clipper On Line • Ver Tópico - letodb xharbour 1.2.3 + BCC72

letodb xharbour 1.2.3 + BCC72

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

Moderador: Moderadores

 

letodb xharbour 1.2.3 + BCC72

Mensagempor paiva_dbdc » 24 Jul 2020 12:07

BOM dia

pode-se gerar a RDDLETO.LIB com eles ?

auguem usa ?

poderia explicar como gerar ?

desde já agradeço

Paiva
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 24 Jul 2020 17:52

Ola!

Lendo o manual, vc gera a LIB.
O Servidor(LetoDbf.exe) tem que ser pelo Harbour.

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

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 24 Jul 2020 17:55

Ola!
Baixe o LetoDbf pelo git e compile apenas a LIB pelo xbp.

      2.5 xHarbour

SERVER: the server itself must be build with Harbour, cannot be done with xHB.
Same applies for utils like console monitor.

CLIENT: client library (RDD) can be build with xHarbour, use the 'rddleto.lib.xbp' definition for
xBuilder. For Windows ( but not for XCC ), it will by default use a second thread ( without HVM ),
so the executable must be linked with a library containing '_beginthreadex()'.
cFlag define: LETO_NO_THREAD=1 set for xHB will disable this and the need for threading function,
[ C-compiler: note that xBuilder doesn't store used C-compiler -- change it on demand.
   XCC: can't compile 3rd party 'lz4.c', compile it with PellesC >= 4.5 manually,
        and replace it in list of files for xBuilder with resulting 'lz4.obj':
        pocc.exe -Fo"obj\lz4.obj" -Ot -I"include" -I"source\3rd\lz4\lib" -I%PATH_XHB%"\include"
                 -I%PATH_POCC%"\Include" -I%PATH_POCC%"\include\Win" "source\3rd\lz4\lib\lz4.c"
]

DEMO: one single demo 'test_mem.exe.xbp' is designed and tested with PellesC ( POCC ) V8.0 [ >= 6.0 ]
For this lib 'crtmt.lib' is in link list, other C-compiler may replace that "crtmt.lib" with one of
their distribution ( cw32mt.lib, libcmt.lib .. )
XCC, and RDD lib with disabled thread have to remove library from list.
Same way you can build other examples "test_[func|filt|dbf|dbfe|var|file]"

YOUR APP:
like above demo: link a MultiThread C runtime lib,
#include "rddleto.ch" for each '.prg' of a xHB LetoDBf project by xHB switch: "/u+rddleto.ch".
One source file of your project, i suggest that with function main() and Leto_Connect(),
should: REQUEST LETO
(*) Codepage-names of xHB and server build with Harbour may be different, that needs to
set up a 'name translation table' -- see LETO_ADDCDPTRANSLATE()


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

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 24 Jul 2020 18:09

Ola!
Basta clonar no GIT.
C:\>git clone https://github.com/elchs/LetoDBf.git letodbf
Cloning into 'letodbf'...
remote: Enumerating objects: 2652, done.
remote: Total 2652 (delta 0), reused 0 (delta 0), pack-reused 2652 eceiving objects:  98% (259
Receiving objects: 100% (2652/2652), 2.08 MiB | 3.00 MiB/s, done.
Resolving deltas: 100% (2086/2086), done.

E compilar.
C:\letodbf>hbmk2 rddleto.hbp

C:\letodbf>dir lib
O volume na unidade C não tem nome.
O Número de Série do Volume é 906B-7B11

Pasta de C:\letodbf\lib

24/07/2020  18:03    <DIR>          .
24/07/2020  18:03    <DIR>          ..
24/07/2020  18:03           456.576 librddleto.a
               1 arquivo(s)        456.576 bytes

Só isso, não inventar moda, com milhões de sets e bats.

A única coisa que tem no meu é colocar o GCC no PATH. No caso ai do seu é colocar o BCC7x
Não tem hbmk2.exe, então use o BAT para BCC.
make_b32.bat


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

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 24 Jul 2020 18:16

Ola!
Servidor LetoDbf compilado em 64Bits.
letodb.rar
Servidor LetoDbf compilado com GCC 10.1 64Bits
(813.83 KiB) Baixado 85 vezes


Tanto faz a sua LIB ser Xharbour ou Harbour 32Bits, BCC/GCC etc que funciona.

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

letodb xharbour 1.2.3 + BCC72

Mensagempor paiva_dbdc » 27 Jul 2020 16:12

DUVIDA: rs

posso re-inder uma arquivo com um campo no indice vindo de outro arquivo ? relacionado ?

ex: index on empresa+filial+produto->nome+codigo ....

o letodb só funciona gerenciando PASTAS ? ou seja... Não posso mandar ele gerenciar C: ou D: por exemplo

paiva
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 27 Jul 2020 16:27

Ola!
o letodb só funciona gerenciando PASTAS ? ou seja... Não posso mandar ele gerenciar C: ou D: por exemplo

C:,D: etc são pastas! Só que RAIZ.
Vai liberar a RAIZ da unidade ? para gravar os DBF na RAIZ ?
Nenhum servidor enxerga as variáveis do lado cliente.
quando for indexar:
index on field->cliente...

Tudo da mesma forma não muda nada.

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

letodb xharbour 1.2.3 + BCC72

Mensagempor paiva_dbdc » 27 Jul 2020 20:18

Itamar, boa noite

deixa eu explicar melhor.

todos clientes tem \dbdc e uma pasta onde fica as bases de dados \usr\sfa (normalmente)
99% tem a pasta \paiva com um dbf sdata.dbf (data do sistema criptografada)

o \paiva poderia mudar para \dbdc por exemplo ++++++ mesmo assim tenho 2 pastas de trabalho \dbdc\ e \usr\sfa (que pode mudar ...)

pelo que entendi teria que ter DOIS letodb com 2 portas liberadas e cada UM dele apontando para uma determinada pasta.

então: se puder ser c: ou D: ou E: ou qq HD eu teria somente UM letodb uma Unica porta liberada e poderia acessar qq pasta

tipo : c:\dbdc c:\usr\sfa c:\paiva ou .... d:\...... se fosse outro HD

por ser a RAIZ do HD pesaria no processamento ?

assim que eu conseguir acessar as base vou ver se a re-indexação com campos relacionados funciona aqui.

se um terminal acessar o servidor pelo letodb outro terminal ou até mesmo servidor Não vai poder acessar a mesma base sem ser pelo letodb correto ?

se for assim se por acaso algum terminal Não conseguir se conectar ao letodb eu Não poderei deixar ele trabalhar com o DBF ?
ou seja teria que avisar que não conectou e sair do sistema ?

desde já agradeço
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

letodb xharbour 1.2.3 + BCC72

Mensagempor JoséQuintas » 27 Jul 2020 22:00

Se entendi direito... o acesso a DBF e índices vai ser pelo letodb, pela(s) RDD(s) existente(s) no letodb.

Caso use a versão Harbour do letodb, confirme se vai ser compatível com XHarbour, antes de usar simultâneo.
Por exemplo, o bloqueio no servidor poderia ser 64 bits, o que não seria compatível com os terminais pra acessar simultâneo sem o letodb.
Lembro de um que bloqueia acesso por terminais, não sei se é o letodb, provavelmente por isso.

Se for igual o hbnetio, seria por pasta relativa à raiz definida no servidor.
Se instalar/configurar o hbnetio pra trabalhar em c:\nomepasta, se tentar abrir \arquivo.dbf, será aberto o de c:\nomepasta\arquivo.dbf
De certa forma, como se fosse o mapeamento do Windows, que mapeia uma pasta pra Z:, mas o hbnetio mapeia como raiz.
Não tem acesso fora dela, mas pode criar subpastas normalmente.

Citei o hbnetio como exemplo, ele é inferior ao letodb, mas é o único que conheço/uso.
Talvez o letodb faça igual, e não precise de dois servidores.
E talvez ninguém tenha tentado usar assim, e pode ser que o letodb aceite.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

letodb xharbour 1.2.3 + BCC72

Mensagempor Itamar M. Lins Jr. » 28 Jul 2020 11:59

Ola!
Isso fica a seu critério.
Melhor fazer uma reconfiguração e usar C:\BaseDados\Pasta_a e c:\BaseDados\Pasta_b...
Se colocar c:\ para o letodbf enxergar, vai funcionar também abrindo as subpastas, mesmo que não crie nada na raiz c:\

vou ver se a re-indexação com campos relacionados funciona aqui.

Qualquer comando e ou função do RDD_DBF do harbour funciona.

se um terminal acessar o servidor pelo letodb outro terminal ou até mesmo servidor Não vai poder acessar a mesma base sem ser pelo letodb correto ?

Vai poder acessar sim, vc pode liberar o acesso para outros programas. Vai depender da configuração do LetoDbf.
Tem programa em Delphi, etc, sem ser feito com o Harbour que acessa a base DBF ?
Porém pela suas perguntas, vejo que vc nem começou... Pq eu mesmo não consegui usar o xHarbour para gerar a rddletodb.lib usand o BCC7.3
O 7.2 nem achei para download. Melhor sair do xHarbour se deseja usar 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

letodb xharbour 1.2.3 + BCC72

Mensagempor adzdoni » 07 Set 2020 21:23

Ola
Estou iniciando estudos no letodbf para xHarbour, peguei exemplos aqui no site, esta dando erro, ja pesquisei e nao encontrei solucao, peço ajuda aos colegas, estou usando o xHarbour 1.2.1 e bcc551.
Se alguem puder passar um link com o xharbour 1.2.1 + bcc551 + letodb compilado com .exe , .lib , .ch , agradeço.
Obrigado a todos que puderem ajudar.

O codigo é este:
#include "inkey.ch"
#include "rddleto.ch"
function main()
cls

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.

return(.t.)

O erro é este:
Anexos
letoErro.png
adzdoni
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 5
Data de registro: 29 Jan 2007 18:57
Cidade/Estado: ARAPONGAS PR
Curtiu: 0 vez
Mens.Curtidas: 1 vez




Retornar para Banco de Dados

Quem está online

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