Clipper On Line • Ver Tópico - LetoDb e Harbour, como usar.

LetoDb e Harbour, como usar.

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

Moderador: Moderadores

 

LetoDb e Harbour, como usar.

Mensagempor FFreire » 09 Jul 2015 19:19

Não funciona... :(Neg

Troquei o nome para letodb_service0 E letodb0.ini, instala ok, inicia... tranquilo... fico com 2 serviços letodb no servidor.....o letodb_service e o letodb_service0, carregados e funcionando, mas quando o sistema conecta, ele conecta no letodb_service...e o mais interessante, derruba o letodb_service0... dai eu tento subir o serviço, da uma mensagem, dizendo que o windows paraliza serviços que estão ociosos (resumindo)...

Dai tentei uma coisa, só para ver o que acontece... peguei as libs que foram geradas como letodb_service0 e linkei com o sistema... continua lendo letodb_service... portanto não resolve...

Dai fiquei imaginando, se eu quiser colocar um servidor meu, para que clientes menores, que não tem infra-estrutura, acessar meu sistema não consigo..., pois a idéia seria instalar um sistema para cada cliente... cada um com seus dados, etc, etc... não dá, pois só consigo monitorar uma pasta...

Claro que posso resolver isso, via sistema, que é determinar qual pasta irá acessar, a partir da pasta monitorada pelo leto... mas vai complicar um pouco...

Será que não tem outra solução, será que ninguém passou por isso ??? :'(

Vamos aguardar para ver o que aparece !

F.Freire
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar de usuário

FFreire
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 112
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor Itamar M. Lins Jr. » 09 Jul 2015 19:22

Tem algumas possibilidades.
Na minha opinião usar:
c:\DataBase\EmpresaX
c:\DataBase\EmpresaY


No letodb.ini configurar a pasta [DATAPATH ]= c:\DataBase\
Porque ele irá enxergar as subpastas.

Ou usar o LetoDb.exe em diretórios diferentes não instalando como serviço!
c:\EmpresaX\Letodb.exe
c:\EmpresaY\Letodb.exe


Ou como foi explicado pelo Janio.

Prefiro a primeira opção das subpastas.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4559
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 158 vezes
Mens.Curtidas: 251 vezes

LetoDb e Harbour, como usar.

Mensagempor Itamar M. Lins Jr. » 09 Jul 2015 19:24

Mudando o nome do serviço funciona 100%
Tem que mudar a porta também.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4559
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 158 vezes
Mens.Curtidas: 251 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 09 Jul 2015 19:26

Opa... bem pensado...Itamar...

O que vc esta dizendo é para usar:

c:\SISTEMA\EMPRESA1
c:\SISTEMA\EMPRESA2

No leto...no datapath = c:\sistema\

dai mapeio f:... c:\sistema\empresa1, vai aparecer o que tiver aqui dentro...

e mapeio g:... c:\sistema\empresa2, vai aparecer o que tiver ai dentro... resolvendo o problema e usando o mesmo serviço...

vou testar e reporto aqui...

Só mais um detalhe que ainda não entendi, como não usar o letodb, sem ser um serviço....
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar de usuário

FFreire
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 112
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 09 Jul 2015 19:28

Eu mudei o nome do serviço... mas não mudei a porta... pode ser isso então... vou testar... mas não preciso linkar a lib com o nome do serviço mudado ?
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar de usuário

FFreire
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 112
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor Itamar M. Lins Jr. » 09 Jul 2015 20:27

Tem que mudar duas linhas no letodb.hbp

2. Building binaries

The letodb server can be compiled only by the Harbour compiler, and client
library - both Harbour, and xHarbour. For OS Windows the letodb server can be
compiled as Windows service (the macro by __WIN_SERVICE__ should be initialized),
or as the daemon (process) for what it's necessary to set a macro __WIN_DAEMON__.
For Linux it is necessary to set a macro __LINUX_DAEMON__.


Olhando o letodb.hbp
#-prgflag={win}-D__WIN_DAEMON__
-prgflag={win}-D__WIN_SERVICE__

Trocar para
-prgflag={win}-D__WIN_DAEMON__
#-prgflag={win}-D__WIN_SERVICE__


E compilar novamente.
Dai:
3. Running and stopping server

Just run it:

letodb.exe ( under Windows )
./letodb ( under Linux )

To shutdown the server, run the same executable with a 'stop' parameter:

letodb.exe stop ( under Windows )
./letodb stop ( under Linux )



Isso está no readme.txt e no letodb.hbp
Assim vc pode ter n letodb.exe´s, um em cada diretório com suas respectivas pastas e lógico monitorando portas diferentes.

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

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4559
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 158 vezes
Mens.Curtidas: 251 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 09 Jul 2015 20:55

Blz... ficou bem claro com relação ao letodb daemon...

Mas optei, por enquanto, em trocar o nome do serviço, pois usando como serviço, dispensa a questão manual... realmente o problema era a porta, estava usando a mesma, deu certinho... posso dai gerar quantos serviços necessitar que vai atender !

Agradeço, Janio e Itamar, pelas dicas... muito obrigado !
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar de usuário

FFreire
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 112
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor Concentra » 16 Jul 2015 10:33

Bom dia !

Preciso de alguma ajuda com o Leto.
Estou convertendo uma aplicação antiga e relativamente grande para o Leto.
A princípio foi relativamente fácil, visto que não precisava mudar muita coisa, basicamente a conexão inicial ao Leto.

Com os índices já criados e funcionando com o DBFCDX vai que é uma maravilha, ficou muito mais rápido em rede.
Mas estou a 5 dias tentando criar os índices com o Leto e nada...
Os índices triviais sem problemas, mas tenho alguns índices "estranhos" e preciso de ajuda !!!

Por exemplo, tenho um índice ordenando uma tabela de pedidos pela descrição da tabela de produtos, estando as tabelas relacionadas.
Na tabela de pedidos eu tenho o código do produto que relaciona com a tabela de produtos, que tem a descrição.

O exemplo abaixo funciona normalmente com DBFCDX, mas o LETO gera um erro "Error BASE/1002 Alias does not exist: PRODUTOS" :

PROCEDURE Main()

   REQUEST LETO
   LOCAL I

   SETMODE(25,80)
   CLS
   IF Leto_Connect(ALLTRIM(MEMOREAD("LETODB.FLG"))) <> -1
      RDDSETDEFAULT( "LETO" )
   ELSE
      Alert("Not connected")
      QUIT
   ENDIF

   DBCREATE( "PRODUTOS", { { "PROD_ID", "C",  10, 0 },;
                           { "DESC"   , "C",  50, 0 } } )

   DBCREATE( "VENDAS",   { { "PROD_ID", "C",  10, 0 },;
                           { "PRECO"  , "N",  12, 2 } } )

   USE PRODUTOS NEW
   INDEX ON FIELD->PROD_ID TAG "ID"

   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000001"
   REPLACE FIELD->DESC    WITH "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000002"
   REPLACE FIELD->DESC    WITH "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

   USE VENDAS NEW

   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000002"
   REPLACE FIELD->PRECO   WITH 2.00

   SET RELATION TO FIELD->PROD_ID INTO PRODUTOS

   INDEX ON PRODUTOS->DESC TAG "DESCRIPT"

   SEEK "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

   ALERT( VENDAS->PROD_ID + " " + PRODUTOS->DESC )

   Return


Eu entendo que a área de trabalho PRODUTOS é algo que pertence ao escopo do cliente, não do servidor, mas como eu faço algo assim no LETO ?
Quais as alterações necessárias no meu exemplo ?

[[]] Maurício Ventura Faria
Concentra
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 28 Jan 2008 15:41
Cidade/Estado: Piracicaba - SP
Curtiu: 1 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 16 Jul 2015 13:33

USE PRODUTOS NEW alias PRODUTOS
INDEX ON FIELD->PROD_ID TAG "ID"
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1837
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 63 vezes

LetoDb e Harbour, como usar.

Mensagempor Concentra » 17 Jul 2015 08:16

janio escreveu:USE PRODUTOS NEW alias PRODUTOS
INDEX ON FIELD->PROD_ID TAG "ID"

Isso não resolve o problema, o Leto retorna o mesmo erro.
Quando o ALIAS não é referenciado, por padrão, o nome do arquivo é assumido como ALIAS.

[[]] Maurício Ventura Faria
Concentra
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 28 Jan 2008 15:41
Cidade/Estado: Piracicaba - SP
Curtiu: 1 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 17 Jul 2015 09:58

Function Main( cPath )
   LOCAL I

   REQUEST LETO
   RDDSETDEFAULT( "LETO" )

   SETMODE(25,80)
   CLS

   IF Empty( cPath )
      cPath := "//127.0.0.1:2812/temp/"
   ELSE
      cPath := "//" + cPath + Iif( Right(cPath,1) $ "/\", "", "/" )
   ENDIF

   DBCREATE( cPath+"PRODUTOS", { { "PROD_ID", "C",  10, 0 },;
                              { "DESC"   , "C",  50, 0 } } )

   DBCREATE( cPath+"VENDAS",   { { "PROD_ID", "C",  10, 0 },;
                           { "PRECO"  , "N",  12, 2 } } )
   USE (cPath+"PRODUTOS") NEW alias PRODUTOS
   INDEX ON PROD_ID TAG "ID"

   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000001"
   REPLACE FIELD->DESC    WITH "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000002"
   REPLACE FIELD->DESC    WITH "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

   USE (cPath+"VENDAS") NEW

   APPEND BLANK
   REPLACE FIELD->PROD_ID WITH "0000000002"
   REPLACE FIELD->PRECO   WITH 2.00

   SET RELATION TO FIELD->PROD_ID INTO PRODUTOS

   Select Produtos
   INDEX ON DESC TAG "DESCRIPT"
   SEEK "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

   ALERT( VENDAS->PROD_ID + " " + PRODUTOS->DESC )

   Return
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1837
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 63 vezes

LetoDb e Harbour, como usar.

Mensagempor Concentra » 17 Jul 2015 13:26

janio escreveu: Select Produtos
INDEX ON DESC TAG "DESCRIPT"

Jânio, eu preciso indexar a tabela de vendas, não a de produtos...

[[]] Maurício Ventura Faria
Concentra
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 28 Jan 2008 15:41
Cidade/Estado: Piracicaba - SP
Curtiu: 1 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 17 Jul 2015 17:58

Tabela VENDAS não tem o campo DESC. como vc quer indexar por um campo q não existe na tabela?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1837
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 63 vezes

LetoDb e Harbour, como usar.

Mensagempor Concentra » 18 Jul 2015 01:59

janio escreveu:Tabela VENDAS não tem o campo DESC. como vc quer indexar por um campo q não existe na tabela?

As tabelas estão relacionadas, toda vez que um registro na tabela de vendas é posicionado o registro correspondente na tabela de produtos é posicionado automaticamente , então, é possível ordenar a tabela de vendas pela descrição da tabela de produtos.
Faço esse tipo de relacionamento em várias situações em meus sistemas e preciso fazer com o LETO mas não descobri como...
Concentra
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 28 Jan 2008 15:41
Cidade/Estado: Piracicaba - SP
Curtiu: 1 vez
Mens.Curtidas: 3 vezes

LetoDb e Harbour, como usar.

Mensagempor esbasso » 18 Ago 2015 15:06

Baixei fontes recentes do leto
Leto Server 2.15 b3 ou 2.15 Funciona normal

Mas o lib cliente RDDLETO.LIB gerada não funciona, não conecta de forma alguma
USANDO XHARBOUR 1.23 ...
Tentei de tudo

Só funciona usando uma LIB cujo leto VERSÃO eu só tinha esta por ultimo
/* $Id: leto1.c,v 1.166.2.63 2013/06/24 09:33:44 ptsarenko Exp $ */
/* $Id: letocl.c,v 1.1.2.23 2014/01/15 10:57:57 alkresin Exp $ */ ultima que tenho que funciona

NÃO FUNCIONA
/* $Id: leto1.c,v 1.166.2.120 2015/03/04 12:49:39 alkresin Exp $ */

/* $Id: letocl.c,v 1.1.2.45 2015/08/01 20:23:30 ptsarenko Exp $

Se alguém tiver uma versão de LIB para xharbour lado cliente RDDLETO.LIB poste aqui
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
esbasso
Colaborador

Colaborador
 
Mensagens: 320
Data de registro: 24 Jan 2007 16:49
Cidade/Estado: CHAPECO/SC
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

Anterior Próximo



Retornar para Banco de Dados

Quem está online

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