Clipper On Line • Ver Tópico - LetoDBf (fork) -> LetoDb com espinafre

LetoDBf (fork) -> LetoDb com espinafre

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

Moderador: Moderadores

 

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 16 Dez 2018 15:47

Olá,

O retorno da função "dbRecordInfo para DBRI_LOCKED" não consegue enxergar o LOCK feito por outro programa sendo executado ao mesmo tempo.

  ? "DbRLock-LETODBF=", NOMES_LETO->( DbRLock() )   // Aqui LETO travou o registro - OK

  ? "leto_MgGetLocks=", hb_valtoexp( leto_MgGetLocks( nConect, "NOMES.DBF", "<100" )       // Aqui retorna a lista dos locks de todos os programas em execução

  ? "DBRI_LOCKED=", hb_valtoexp( NOMES_LETO->( dbRecordInfo( DBRI_LOCKED, recno() ) ) )     // Aqui retorna a lista dos locks só do programa em execução


Já que na função "leto_MgGetLocks()" os locks funcionam mult-sistema, talvez a função "dbRecordInfo" deveria também herdar este comportamento, mas deve ter um motivo para isto ser assim ou ainda não foi implementado no LetoDbf.

T+
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 21 Dez 2018 10:08

Olá,

Estou tentando testar o esquema de Transação do LetoDBF, mas na linha que executo a função leto_BeginTransaction(), ocorre o erro abaixo:

Descrição do Erro: Erro ???DRIVER /1031 =>  Erro de sintaxe

[   2] LETO_BEGINTRANSACTION(0)                () [L]:.T., [U]:NIL,



Alguém saberia me dizer porque deste erro e como resolver ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 21 Dez 2018 16:12

Olá,
rossine escreveu:Olá,

Estou tentando testar o esquema de Transação do LetoDBF, mas na linha que executo a função leto_BeginTransaction(), ocorre o erro abaixo:

Descrição do Erro: Erro ???DRIVER /1031 =>  Erro de sintaxe

[   2] LETO_BEGINTRANSACTION(0)                () [L]:.T., [U]:NIL,



Alguém saberia me dizer porque deste erro e como resolver ?



Problema resolvido colocando o alias na função: MYALIAS->( leto_BeginTransaction() )

t+
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor porter » 22 Dez 2018 09:11

Olá pessoal,
Estou recebendo de tempos em tempos na estação, essa mensagem de erro no letodbf.log, o sistema trava e tenho que fecha-lo,
a mensagem diz que a porta 2812 foi desligada, o anti-vírus do servidor é o Avast, no firewall já liberei a porta 2812, já informei
a pasta do sistema na lista de exclusões do Avast e ainda continua apresentando esse problema, quando executo o sistema na estação,
espero que essas informações sejam suficientes para alguém que já teve esse problema, dizer o que pode ser feito, Obrigado.

12.21.2018 18:11:51       Server at port 2812 have shutdown.
01.01.2002 00:00:52       UDF file: C:\LETODBF\bin\letoudf.hrb not present.
01.01.2002 00:00:52 INFO: LetoDBf Server 3.00, will run at port :2812 ( internal also used :2813 )
01.01.2002 00:00:52 INFO: DataPath=\estoque, ShareTables=0, NoSaveWA=1, max database=999
01.01.2002 00:00:52 INFO: LoginPassword=0, CacheRecords=21, LockExtended=0
01.01.2002 00:00:52 DEBUG second socket: 188 for errors established
01.01.2002 00:00:52 DEBUG thread3() with pipe handle: 232 started .
.

Harbour 3.2.0(dev)
porter
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1024
Data de registro: 10 Dez 2009 15:44
Cidade/Estado: OLIMPIA-SP
Curtiu: 3 vezes
Mens.Curtidas: 23 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Jairo Maia » 23 Dez 2018 08:08

Olá porter,
porter escreveu:a mensagem diz que a porta 2812 foi desligada
Na verdade a mensagem está dizendo que o Servidor conectado na porta 2812 caiu.

Isso significa que o serviço LetoDBf Service parou. Você tem que entender o que está interrompendo o serviço do LetoDBf.

Ideal é você entender a razão que causa essa interrupção do serviço, mas alternativamente, você pode tentar fazer com que o windows reinicie o serviço automaticamente.

Tente o seguinte (no servidor):

1-Abra a tela de serviços do Windows;
2-Localize e selecione o serviço LetoDBf Service;
3-Clique com o botão direito sobre ele;
4-Vá na guia Recuperação e escolha Propriedades;
5-Marque Primeira Falha, Segunda Falha e Falha posteriores como Reiniciar o Serviço;
6-O tempo mínimo para outra tentativa do Windows é de 1 minuto, estará marcada como padrão;
7-Salve.

Se o serviço reiniciar e a conexão voltar dentro desse tempo (o sistema fica aguardando), então tente saber o que está parando o serviço.

Dica: Pode ser programa de acesso a banco também.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 23 Dez 2018 11:00

Olá,

Teria como usar o LetoDBF para acessar dois arquivos em unidades de discos distintas ?

Tentei configurar desta maneira mas não deu certo:

letodb.ini

...
DataPath = /
...


Exemplo de uso:

DbUseArea( .t., "LETO", "C:\myserver_C\ARQ_001.DBF", "NOMES_LETO_C", .t. )

DbUseArea( .t., "LETO", "D:\myserver_D\ARQ_002.DBF", "NOMES_LETO_D", .t. )


Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor jelias » 27 Dez 2018 09:10

Olá amigos,

Tem alguém usando o LetoDB(f) com xHarbour 1.2.1?

Saudações,

Júlio.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
jelias
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 249
Data de registro: 27 Ago 2008 11:32
Cidade/Estado: Minas Gerais
Curtiu: 0 vez
Mens.Curtidas: 16 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor asimoes » 27 Dez 2018 10:55

rossine escreveu:Olá,

Teria como usar o LetoDBF para acessar dois arquivos em unidades de discos distintas ?

Tentei configurar desta maneira mas não deu certo:


Acredito que somente executando o letodbf em portas distintas uma você usa a 2812 ou 2814 ...
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 27 Dez 2018 11:22

Olá,

O Elch, fez a implementação no LetoDBF para porder trabalhar com 2 arquivos letodn.ini distintos.

Vejam aqui: https://groups.google.com/forum/#!topic/harbour-users/-tbCwsJr_9g

T+
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor asimoes » 27 Dez 2018 14:20

rossine escreveu:Olá,

O Elch, fez a implementação no LetoDBF para porder trabalhar com 2 arquivos letodn.ini distintos.


Você usa como serviço ? nunca precisei usar como serviço
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 27 Dez 2018 17:52

Olá Alexandre,

Sim, estou usando como serviço.

Abraço,

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rossine » 30 Dez 2018 15:01

Olá,

Tenho um índice onde tenho uma variável pública, assim:

Left( referencia, nNivel )

Usando o Leto, na hora de indexar, ocorre de execução , variável inexistente "nNivel"

Tentei criar esta variável no servidor atraves da funçao leto_varset() mas nao deu certo.

Alguem saberia me dizer como fazer ?

Resolvido: https://groups.google.com/forum/m/#!topic/harbour-users/ykkTp9LrEgQ

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor porter » 04 Jan 2019 12:07

Olá pessoal, tenho essa rotina onde transfiro registros de um arquivo para outro em seguida deleto o registro,
gostaria de saber, se com o LetoDBF, a cada registro deletado, é necessário dar um DBCOMMIT() e um DBUNLOCK()
a cada registro deletado, ou basta dar um DBCOMMIT() e um DBUNLOCK() quando terminar de processar o arquivo inteiro.

SELECT 82 // ITENS
SEEK STR(cPEDIDOS,6)
DO WHILE PEDIDO = cPEDIDO
     IGUALAVAR() // IGUALO VARIAVEIS
     SELECT 4 ; APPEND BLANK
     REPLACE CODMERCAD  WITH wCODMERCAD
     REPLACE NOMPRO_    WITH wNOMPRO_ 
     DBCOMMIT()
     DBRUNLOCK()
     SELECT 82
     RLOCK() ; DELETE // --> nessa linha, tem que executar DBCOMMIT() E DBUNLOCK() ?         
     SKIP
ENDDO
DBCOMMIT()
DBRUNLOCK()
SELECT 81
RETURN
porter
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1024
Data de registro: 10 Dez 2009 15:44
Cidade/Estado: OLIMPIA-SP
Curtiu: 3 vezes
Mens.Curtidas: 23 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor Jairo Maia » 04 Jan 2019 13:25

Olá porter,

Minha opinião: Apenas no final do processamento de todos os registros use DbCommit() e DbUnlock(). Usar DbRCommit(), DbCommit() ou COMMIT a cada registro atrasa e muito o processamento.

Eu uso apenas DbUnlock() no final do processamento (uso apenas isso) porque ao liberar o arquivo ou registro(s) eles são salvos no banco de dados automaticamente. Mas faça como achar mais seguro.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

LetoDBf (fork) -> LetoDb com espinafre

Mensagempor rubens » 04 Jan 2019 13:32

Boa tarde...
Eu uso apenas DbUnlock() no final do processamento (uso apenas isso) porque ao liberar o arquivo ou registro(s) eles são salvos no banco de dados automaticamente

Então.. Jairo.. eu tb usava dbcommit() e depois dbunlock(). Não sabia desse detalhe.
Então se usar apenas dbunlock() ele destrava o registro e salva alterações?
Isso apenas no registro atual ou na tabela inteira?

Achei isso no manual do harbour do git https://harbour.github.io/doc/harbour.html#dbunlock
Essa função libera o arquivo ou o bloqueio de registro na área de trabalho atualmente selecionada ou com alias. Ele não desbloqueará um bloqueio associado em bancos de dados relacionados.


Obg.
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Anterior Próximo



Retornar para Banco de Dados

Quem está online

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