LetoDb e Harbour, como usar.

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

LetoDb e Harbour, como usar.

Mensagem por janio »

"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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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 do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

LetoDb e Harbour, como usar.

Mensagem por janio »

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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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...

Código: Selecionar todos

// 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 do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

LetoDb e Harbour, como usar.

Mensagem por janio »

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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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
masteragm
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 09 Set 2011 15:09
Localização: santiago

LetoDb e Harbour, como usar.

Mensagem por masteragm »

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
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

LetoDb e Harbour, como usar.

Mensagem por Itamar M. Lins Jr. »

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

OrdScope e SET FILTER juntos... estranho.

Use índice temporário.

Código: Selecionar todos

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:

Código: Selecionar todos

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.
Saudações,
Itamar M. Lins Jr.
masteragm
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 09 Set 2011 15:09
Localização: santiago

LetoDb e Harbour, como usar.

Mensagem por masteragm »

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
Avatar do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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 do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

LetoDb e Harbour, como usar.

Mensagem por janio »

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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

LetoDb e Harbour, como usar.

Mensagem por FFreire »

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 do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

LetoDb e Harbour, como usar.

Mensagem por Itamar M. Lins Jr. »

Tem algumas possibilidades.
Na minha opinião usar:

Código: Selecionar todos

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.
Saudações,
Itamar M. Lins Jr.
Responder