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 janio » 29 Mai 2015 08:49

"Error SIXCDX" ????????????

Vc esta setando rdd LETO corretamente??

Janio
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: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 29 Mai 2015 10:17

Sim... esta ok, pois esse erro esta dando, quando vou criar o DBF, quando crio os CDX esta ok !
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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 29 Mai 2015 13:21

Alguém saberia dizer onde posso encontrar o significado dos códigos de retornos de erro do letodb.exe...ja sei que a função letowin_GetLastError() é a que retorna tais códigos, mas quais seriam eles... ficaria mais fácil de interpretar o problema quando aparecer os código e tivermos a informação deles...

por exemplo: Error installing LetoDB service: 5 -> O que siginifica isso...

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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 31 Mai 2015 15:48

Opa... venho relatar uma diferença... postei acima que quando ia criar um arquivo com o minigui extended estava dando um erro de criação... realmente persistiu esse erro, até eu dar uma olhada na sintaxe do dbcreate()... vejam...

Usando harbour+minigui+mingw+letodb...eu uso o dbcreate assim: DBCREATE( _ArqCria, _StrDef ), onde _Arqcria é o caminho + o nome do arquivo que vou criar e _strdef é uma matriz com a estrutura, uso a muito tempo e sempre funcionou sem problema, tanto que na versão console, não alterei nada e ta funcionando... seja usando letodb ou dbfcdx.

Dai quando uso harbour+minigui extended+bcc+letodb...usando dbfcdx, sem problemas, funcionando jóia, mas quando fui usar da forma acima com o letodb dava erro..erro de criação, dos error 67 e por ai vai... dai acertei dessa forma... DBCREATE( _ArqCria, _StrDef, IIF(EMPTY(zLetoDB),"DBFCDX","LETO") ), funcionou na hora... parou de dar o erro... ou seja, se forem usar o letodb com minigui extended tem que informar o RDD, ja no minigui clássico (digamos assim), não precisa...o estranho é que uso o mesmo harbour para os dois...para mim dbcreate() é do harbour...então o que tem a ver, seria o linker (mingw/bcc) a diferença... mas enfim... novamente bati bastante cabeça, mas esta funcionando...

E só para animar o pessoal com o letodb, o ganho de performance na rede local é maravilhoso... coloquei em um cliente com 20 estações e win server 2008... acabou a lentidão que tanto reclamavam... tive alguns probleminhas, por exemplo... se a maquina da uma travadinha na placa de rede, cabo, etc... as vezes fica travado os arquivos no servidor... mas dai resolvi, da seguinte forma, depois de conectar ao leto, verifico se aquele ip não esta conectado, se estiver, mato as conexões e digo para o usuário entrar novamente do sistema... outro problema que tive é com relação aos browses... em algumas situações ele não atualiza na hora, mas dai forço uma leitura, usando o posicionamento dos ponteiro e beleza... no mais só alegria... estou quase pronto para colocar no meu maior cliente, que tem 60 terminais locais e uns 20 usando TS... vamos ver o que dá...

Enfim... aos poucos vou ficando pronto para poder colaborar aqui com a minha vivência nas ferramentas...

Ei... ninguém tem uma resposta para aquela ultima pergunta ali... sobre os retornos do letodb.exe... mandei até um e-mail para o russo... quem sabe ele retorna com o significado dos números, quando executamos letodb install... alguns ja entendi... agora tem uns que não faço a mínima da causa !!! Dei uma olhada nos fontes, mas lá não tem nada, que posso informar...

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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 31 Mai 2015 17:46

se a maquina da uma travadinha na placa de rede, cabo, etc... as vezes fica travado os arquivos no servidor... mas dai resolvi, da seguinte forma, depois de conectar ao leto, verifico se aquele ip não esta conectado, se estiver, mato as conexões e digo para o usuário entrar novamente do sistema


Nao entendi esta parte! Vc entra no sistema e ja constar q essa estação ja estava conectada vc mata o sistema e pede pra entrar novamente?

Um problema que enfrento eh qndo a estação perde a conexão com o servidor e logo em seguida recupera novamente. Ocorre que mesmo que caia a conexao e no segundo seguinte a conexão se restabeleça... mesmo assim o leto acusa erro e o sistema eh abortado! Nao sei como resolver isso...

Pra testar fiz o seguinte:
1- Entro no sistema abrindo uma tabela;
2- paro em algum get;
3- deconecto o cabo de rede;
4- conecto o cabo novamente;
5- volto ao sistema e tento fechar a tabela (aqui dah o erro)

Mesmo a conexão ja estando ativa, da erro...

Janio
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: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 31 Mai 2015 18:36

Acho que nas 2 situações é o mesmo problema... se perder a conexão com o leto, seja por, falta de energia, problema no cabo, problema na placa de rede, hibernação, desligamento por inatividade... o sistema irá travar em qualquer situação... pois o meio físico parou, não tem o que fazer, mesmo que fosse com dbfcdx... o lado bom da história é que o leto, garante/gerencia a conexão, evitando problemas em bases e índices... Mas dai quando vc entrar novamente no sistema, irá gerar uma nova conexão... veja isso pelo manager... dai eu tenho problemas, pois uso arquivos temporários com o numero da estação de trabalho em modo exclusivo... quando conecta novamente, ele tenta usar o arquivo e não abre, pois eles ja se encontram aberto em uma outra conexão... dai resolvi assim...
// Conexao ao servidor de dados LETODB
IF !EMPTY(zLetoDB)
   xLeto := LETO_CONNECT(zLetoDB) // efetuo a conexão ao leto
   IF xLeto == -1
      MsgMenu('Não conectado ao servidor: '+zLetoDB,{'OK'},,IM__ERRO,'ERRO',,,'32 ERR CAN',,,_branco_)
      RELEASE WINDOW Principal
   END
   // Verifica se ja esta conectado no letodb
   xiplocal := GetIp() // função que retorna o ip local
   xipcnx   := leto_MgGetUsers() // retorna matriz com informações das conexões (1-sequencia / 2-ip / 3-host / 4-exe que gerou a conexao / 5 - timeout)
   IF LEN(xipcnx) > 1 // se houver mais de 1 usuario
      nCntCnx := 0
      FOR nCnt = 1 TO LEN(xipcnx)
         IF xipcnx[nCnt,2] == xiplocal .AND. UPPER(xipcnx[nCnt,4]) == 'SAGRIO.EXE' // se existir alguma conexão com o iplocal e no meu sistema, incrementa
            nCntCnx++
         END
      NEXT
      IF nCntCnx > 1 // se tem mais de 1 sistema conectado
         FOR nCnt = 1 TO LEN(xipcnx)
            IF xipcnx[nCnt,2] == xiplocal .AND. UPPER(xipcnx[nCnt,4]) == 'SAGRIO.EXE' // mato a conexão
               leto_MgKill( xipcnx[nCnt,1] )
            END
         NEXT
         MsgMenu('Conexão anterior não finalizada corretamente !!!'+SALTO_LINHA+SALTO_LINHA+'Entre novamente no sistema...',{'OK'},,IM__ERRO,'ERRO',,,'32 ERR CAN',,,_branco_)
         RELEASE WINDOW Principal
      END
   END
END

****************
FUNCTION GetIp()
****************
LOCAL aHosts
LOCAL cEstacao := NETNAME(.F.)

HB_InetInit()
aHosts := HB_InetGetHosts( cEstacao )
IF aHosts == NIL
   aHosts := HB_InetGetAlias( cEstacao )
END
IF EMPTY(aHosts)
   aHosts := HB_InetGetAlias( cEstacao )
END
HB_InetCleanup()
RETURN aHosts[1]

Outra coisa a ser dita, é conectar em base de dados com wifi, eita coisa, para oscilar...passou qualquer tipo de sinal do lado, ja oscila o sinal, quando vejo que o usuário não usa cabo, simplesmente coloco no TS, pronto ta resolvido...

Pensando aqui agora... poderia ao invés de sair do sistema... poderia conectar novamente...

Espero ter ajudado...

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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 31 Mai 2015 18:47

Esse tipo de problema so acontece qndo conectamos o sistema via ip. Qndo eh mapeado, mesmo q a conexao com o servidor caia e volte novamente, não da erro nenhum!

Chato isso pq se o servidor estiver indisponível... blz, nao ha o que fazer. Mas se a perca da conexão se deu de forma mometanea e no momento da requisição o servidor ja estava disponível novamente... nao vejo pq ocorrer esses erros.

Estava pensando numa solução de em vez de abortar a aplicação, tentar uma reconectar novamente. Pelo errorsys daria pra tratar isso. Mas não sei se as tabelas JA ABERTAS continuariam visiveis para a NOVA CONEXÃO!

Janio
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: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 31 Mai 2015 18:59

Entendi... vc esta falando de conexão, onde a base se encontra em outro local remoto, que não é a rede local... mas dai daria para aplicar no errorsys, o mesmo esquema, mata a conexão e tenta novamente, se houver conexão, vc reiniciaria apenas o modulo onde vc estava... tem que aprimorar, mas acho que é por ai !
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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor masteragm » 29 Jun 2015 13:30

Hola :
Estoy trabajando con letodb y estoy haciendo un browse sobre una base de datos de 7000 reg. ,
pero se demora alrededor de 10 minutos !!!!
Si alguien puede ayudarme , estare muy agradecido .
este es el codigo :

x_inicio:=diario.desde.value
x_final :=diario.hasta.value
x_ord:="XXD9"
select det
ORDSETFOCUS(x_ord)
det->(OrdScope( 0,x_inicio))
det->(OrdScope( 1,x_final))
det->( dbSetFilter( { || Field->dvfecvou >= diario.desde.value .and. Field->dvfecvou <= diario.hasta.value }, 'Field->dvfecvou >= diario.desde.value .and. Field->dvfecvou <= diario.hasta.value' ) )
DBGOTOP()
diario.browse_1.refresh
diario.browse_1.value := det->(recno())
diario.browse_1.refresh

Atte.Alejandro Gonzalez
masteragm
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 09 Set 2011 15:09
Cidade/Estado: santiago
Curtiu: 0 vez
Mens.Curtidas: 0 vez

LetoDb e Harbour, como usar.

Mensagempor Itamar M. Lins Jr. » 29 Jun 2015 13:47

Ola!
Abra um novo tópico! Aloo moderadores!

OrdScope e SET FILTER juntos... estranho.

Use índice temporário.
det->( dbSetFilter( { || Field->dvfecvou >= diario.desde.value .and. Field->dvfecvou <= diario.hasta.value }, 'Field->dvfecvou >= diario.desde.value .and. Field->dvfecvou <= diario.hasta.value' ) ) 

Troque por:
cOrdBy := ??? //
cQuery :=  "Field->dvfecvou >= diario.desde.value .and. Field->dvfecvou <= diario.hasta.value"
Index on &cOrdBy TAG MyTmpTagX FOR &cQuery temporary additive


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 e Harbour, como usar.

Mensagempor masteragm » 29 Jun 2015 20:16

gracias , voy a probar con este codigo , serias tan amable
de explicarme el uso de las instrucciones :

LETO_BEGINTRANSACTION( [ nBlockLen ] )
LETO_ROLLBACK()
LETO_COMMITTRANSACTION( [ lUnlockAll ] )

Saludos

Alejandro Gonzalez
masteragm
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 6
Data de registro: 09 Set 2011 15:09
Cidade/Estado: santiago
Curtiu: 0 vez
Mens.Curtidas: 0 vez

LetoDb e Harbour, como usar.

Mensagempor FFreire » 08 Jul 2015 16:37

Olá...

Como resolver essa situação...

Tenho um cliente que usa um servidor windows server 2008, ele tem 2 empresas, cada uma com seu cnpj, usando meu sistema no mesmo servidor...

Como faço isso... no C: do servidor, crio 2 pastas \empresa1, \empresa2... ai dentro de cada pasta instalo meu sistema e depois mapeio 2 unidades (F: para \empresa1 e G: para \empresa2), consequentemente 2 atalhos... tudo perfeito, sem problemas... funcionando a bastante tempo, agora estou usando o letodb, ja coloquei em quase todos os clientes e esta funcionando perfeito, mas como fazer nessa situação... pois tenho que instalar 1 serviço (letodb_service), consequentemente, irá monitor apenas 1 lugar... alguém ja passou por isso... qual seria o caminho a seguir ???

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: 113
Data de registro: 19 Mai 2013 16:16
Cidade/Estado: Andirá-PR / Itaporanga-SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

LetoDb e Harbour, como usar.

Mensagempor janio » 09 Jul 2015 08:33

Vc tem os fontes do leto...

Recompile o servidor mudando o nome do serviço e o arquivo .ini monitorado!

Um será o leto normal e o outro sera o leto com serviço diferente

Janio
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: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

LetoDb e Harbour, como usar.

Mensagempor FFreire » 09 Jul 2015 18:07

Ok Janio... vou tentar isso para ver o que acontece...retorno o resultado...obrigado !

Só uma dúvida, será que irá afetar a lib que uso adicionada ao sistema ou apenas o letodb.exe ?
Avatar de usuário

FFreire
Usuário Nível 3

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

LetoDb e Harbour, como usar.

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

Tem algumas possibilidades.
Na minha opinião usar:
c:\DataBase\EmpresaX
c:\DataBase\EmpresaY
[code]
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!
[code]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: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Anterior Próximo



Retornar para Banco de Dados

Quem está online

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