Clipper On Line • Ver Tópico - LetoDb e Harbour, como usar.
Mudar para estilo Clássico
Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.
Postar uma resposta

LetoDb e Harbour, como usar.

03 Jun 2014 16:12

Ola!
O LetoDb é um motor "DAEMON" que funciona com características similares aos bancos de dados MySQL, Postgree SQL, MSSQL...
Em outras palavras, ele serve de ponte (ligação) entre seu aplicativo e o banco de dados. É para ele que fazemos a requisição dos dados, solicitamos ao DAEMON (motor), os dados, assim sendo não existe mais o tráfego de todos os arquivos pela rede, não precisamos mapear tão pouco compartilhar a pasta, e os perigos dos travamentos(rlock(),flock()) são minimizados. Aumentando assim a velocidade da aplicação que usa DBF.

Baixe o LetoDb da sessão de download aqui do forum.
http://www.pctoledo.com.br/forum/filebase.php?d=1&id=218&c_old=0&what=c&page=1

Primeiro verificar(editar) o arquivo letodb.ini e colocar o DATAPATH de acordo onde se encontra os seus arquivos DBF´s, pode conter subpastas não precisa direcionar para as subpastas apenas para pasta raiz.

Código:
Port = 2812             
Logfile = "letodb.log"   
DEFAULT_DRIVER = CDX     
DATAPATH = c:\dados\
ENABLEFILEFUNC = 1
CRYPT_TRAFFIC = 0
PASS_FOR_LOGIN = 0
PASS_FOR_MANAGE = 0
PASS_FOR_DATA = 0
Share_Tables  = 0
Cache_Records = 50
[DATABASE]
DataPath = c:\dados\
Driver = CDX


Para instalar o serviço no windows XP ou 7 ou 8 use:
Código:
c:>\pasta_com_letodb\letodb install //minusculo mesmo
net start letodb_service


Pronto o letodb está rodando e "apontado" para a pasta onde estão os seus DBF´s apenas faça os ajustes se for CDX ou NTX.
Dica firewall!
Não esquecer de liberar pelo firewall a porta 2812.
1)Dica para acesso externo!
No modem ADSL na opção NAT direcionar a PORTA 2812 para o IP do servidor que está instalado o LetoDB
2)Dica, use um programa gratuito p/ acesso externo!
Use o serviço(programa) www.no-ip.com ou outro melhor para achar seu computador em uma rede WAN.

Testando:

Código:
#require "sddodbc" //opcional se for usar MySql com LetoDb
#require "sddfb"  //opcional se for usar Firebird com Letodb
#include "rddleto.ch"

REQUEST DBFCDX, DBFFPT, DBFDBT, LETO
REQUEST HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850

REQUEST  SQLMIX, SDDODBC //opcional se for usar MySQL ou Firebird etc...

Function Main
Local cPATH := "//localhost:2812/" //não precisa informar o caminho dos DBF´s porque já foi informado(configurado) no arquivo leotdb.ini

//Conectando com o servidor LetoDb.

      nConect := leto_Connect( cPath)
      IF nConect == -1
          nRes := leto_Connect_Err()
         IF nRes == LETO_ERR_LOGIN
            alert( "Falha ao Logar" )
         ELSEIF nRes == LETO_ERR_RECV
           alert( "Error ao conectar" )
         ELSEIF nRes == LETO_ERR_SEND
            alert( "Erro de envio" )
         ELSE
            alert( "Não connectado ao servidor: " + cPath )
         ENDIF
         Return .F.
      ENDIF

cIndex  := cPATH+"meu_arquivo.cdx"

cDbf := cPATH+"meu_aquivo.dbf"

DbUseArea(.t.,'LETO',cDbf,"alias_xyz",.T.,.F.,'PTISO')
If leto_file(cIndex)
   DBSETINDEX( cIndex )
Else
   index on ...//seu código
   index on ... //seu código
EndIf



E quando compilar sua aplicação, não esquecer de ligar a lib!
Colocar em um arquivo com a extensão letodb.hbc
Código:
{win}incpaths=c:\pasta_com_letodb\include;
{win}libpaths=c:\pasta_com_letodb\lib;

{win}libs=rddleto

E no arquivo "seu_projeto.hbp" adicionar a linha:
Código:
letodb.hbc

Depois compilar:
Código:
:>hbmk2 seu_projeto.hbp


Saudações,
Itamar M. Lins Jr.

LetoDb e Harbour, como usar.

03 Jun 2014 16:43

Estas informações serão muito úteis pra mim, em breve.

Muito obrigado, Itamar! Imagem

LetoDb e Harbour, como usar.

03 Jun 2014 17:00

Ps.
Esqueci de agradecer ao Alexander Kresin e ao Pavel Tsarenko por terem feito o LetoDb!

t+

LetoDb e Harbour, como usar.

03 Jun 2014 17:03

Obrigado, Itamar...

Estou cheio de esperança de fazer funcionar essa sua contribuição no meu aplicativo Dbf/CDX

Tentei antes usar o LetoDB baseado em postagens de outros tópicos e não consegui sequer compilar...

LetoDb e Harbour, como usar.

03 Jun 2014 22:22

Grande Itamar, esse é o cara...
Fechou a questão, amanhã mesmo já começo os estudos.
Valew cara, muito obrigado.
Só me fala uma coisa: Para o caso do servidor Linux e teminais Win XP e 7, estou tendo travamentos no ato dos "Confirma Gravação?" ( HB32+DBF+NTX )
Será que o LetoDB resolve essa questão tb? Ou é outro problema ?

LetoDb e Harbour, como usar.

03 Jun 2014 23:04

Teste ai antes. Depois, pode remover o Linux+SAMBA e usar o win7 mesmo. Lembrando que essa compilação é 32Bits!

Saudações,
Itamar M. Lins Jr.

LetoDb e Harbour, como usar.

03 Jun 2014 23:43

Preciso do leto compilado para xharbour 1.2

Alguem?????

LetoDb e Harbour, como usar.

04 Jun 2014 07:54

Janio, faça você mesmo a compilação, copie os códigos fontes do LetoDb e veja os arquivos Readme.txt e readme_pt_br.txt (obrigado Leonardo - sygecom pela tradução).

http://letodb.cvs.sourceforge.net/viewvc/letodb/letodb/?view=tar&pathrev=rel-1-mt

Abraços,

LetoDb e Harbour, como usar.

04 Jun 2014 18:04

Ok,
- baixei o leto
- fiz os ajustes necessários
- executei sem erros o arquivo make_b32.bat
- foram geradas as lib's leto.lib e rddleto.lib

Mas o executavel num gerado em lugar nenhum! Como gero o executavel letodb.exe????

LetoDb e Harbour, como usar.

04 Jun 2014 22:02

Vi um negocio estranho aqui no makefile.bc
Código:
#
# Our default target
#

!if $d(XHARBOUR)
PROJECT = \
   $(CLIENT_RDD_LIB) \
   $(CLIENT_LIB)
!else
PROJECT = \
   $(CLIENT_RDD_LIB) \
   $(CLIENT_LIB) \
   $(SERVER_EXE)
!endif


Quando é para xHarbour o executado do leto (letodb.exe) não é gerado??? Somente as lib's????
Estou sem entender...
como gero esse executavel no xharbour, meu Deus?

LetoDb e Harbour, como usar.

05 Jun 2014 08:45

janio escreveu:como gero esse executavel no xharbour, meu Deus?

Janio, pelo jeito você não leu o arquivo readme_pt_br.txt completo.

2.3 xHarbour Builder(Comercial)

Execute o make_xhb.bat para construir binários com este compilador.
Provavelmente, você precisará alterar o caminho para sua cópia Construtor
de expressões na make_xhb.bat xHarbour. O valor padrão é:

set XHB_PATH=c:\xhb

Então se o seu xHarbour estiver em outra pasta (c:\xhb), basta editar o arquivo make_xhb.bat e procurar a linha set XHB_PATH=c:\xhb e informar a pasta correta. Depois é só executar o make_xhb.bat.

Abraços,

LetoDb e Harbour, como usar.

05 Jun 2014 09:25

Toledo,

Eu li o arquivo readme_pt_br.txt. Ocorre que esse item refere-se ao xHarbour COMERCIAL, que não é o meu caso, por isso ignorei-o!

Vou fazer os testes que vc sugeriu!

LetoDb e Harbour, como usar.

05 Jun 2014 09:37

Janio, você pode usar o executável que postei mesmo.
Use somente a lib p/ xHb.

Saudações,
Itamar M. Lins Jr.

LetoDb e Harbour, como usar.

05 Jun 2014 09:51

Hummmmm é mesmo! Como não pensei nisso!!!

#-) :%

Executável é executavel e não importa em que linguagem foi compilado!
:-´

Janio

LetoDb e Harbour, como usar.

05 Jun 2014 11:43

bom dia senhores;

estou testando as informações deste tópico e esta aparecendo a mensagem abaixo no arquivo letodb.log;

Código:
06/05/14 11:01:16: Error BASE/1001  Undefined function: DESCRIPT Arguments: ( [ 1] = Type: C Val:       )


no mesmo momento, o executável também retorna o erro abaixo, na função:
dbUseArea( .T., "LETO", "//localhost:2812/ARQ20670.DBF", "ARQ20270", .F.)

Código:
Subsystem Call......: LETO
System Code.........: 1021
Default Status......: .F.
Description.........: Tipo incorreto de dado
Operation...........:
Arguments...........:
Involved File.......: //localhost:2812/ARQ20670.DBF
Dos Error Code......: 0


todos os arquivos de banco de dados estão criptografados pelas rotinas: cript/descript (função de usuário), mas o arquivo de banco de dados e index não chegam serem abertos;

DEFAULT_DRIVER = CDX

o sistema funciona perfeitamente em "DBFNTX" ou "DBFCDX"

alguma luz?

em tempo, baixei o letodb pelo caminho indicado pelo TOLEDO
http://letodb.cvs.sourceforge.net/viewv ... v=rel-1-mt

e utilizando o arquivo bat abaixo:
Código:
set path=c:\hb32\bin

hbmk2 letodb.hbp

hbmk2 rddleto.hbp

hbmk2 leto.hbp

hbmk2 letodyn.hbp


aparecem os erros abaixo:
Anexos
2014-06-05_141852.jpg
Postar uma resposta