Dúvida Pack Harbour x Pack Clipper
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dúvida Pack Harbour x Pack Clipper
Estou enxugando meus fontes.
Uma coisa que ainda tenho é uma rotina alternativa ao PACK, porque no Clipper isso causava problemas, até duplicava registros.
É seguro no Harbour usar o PACK?
Uma coisa que ainda tenho é uma rotina alternativa ao PACK, porque no Clipper isso causava problemas, até duplicava registros.
É seguro no Harbour usar o PACK?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida Pack Harbour x Pack Clipper
Eu uso aqui com muita frequência em pequenos arquivos. Mas eu uso apenas 32 bits.
Outra coisa, acredito que a melhor forma é renomear o dbf e copiar para outro com !deleted() ligado.
Saudações,
Itamar M. Lins Jr.
Outra coisa, acredito que a melhor forma é renomear o dbf e copiar para outro com !deleted() ligado.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Dúvida Pack Harbour x Pack Clipper
Acredito q dê problema sim, pq tem os sintomas q o Quintas comentou eventualmente percebemos, por isso abri um Tópico em Bate Papo intitulado, "Deletar ou Não Deletar eis a Questão", pq atualmente deleto, e 1 x ao mês indexo e na indexação são apagados os CDX e é feito um PACK, mas devido N problemas relatados de origem q não conseguimos precisar, estamos pensando em deletar somente casos extremos, tipo começou um cadastro e não terminou deleta o registro, ou até mesmo só faz um append qdo finalizar, fazer isto para Clientes, Produtos, Grupos etc, se deletar um desses itens não vamos nem mais jogar pra tabelas de itens excluídos, pq hj tempos por exemplo produtos e prodexc (produtos excluídos) q funciona tipo uma lixeira, remove da tabela produtos e joga nesta.
Estamos querendo criar uma FLAG Deletado ou algo do tipo e se deletar marcar esta flag e filtrar sem considerar estes itens, isso pra movimentação (vendas, entradas, etc) e tabelas (produtos, clientes, fornecedores etc).
ai não usaremos Pack praticamente e tb não iremos deletar registros constantemente e em partes importantes. Alguma opinião sobre o Pack e o contexto acima?
Estamos querendo criar uma FLAG Deletado ou algo do tipo e se deletar marcar esta flag e filtrar sem considerar estes itens, isso pra movimentação (vendas, entradas, etc) e tabelas (produtos, clientes, fornecedores etc).
ai não usaremos Pack praticamente e tb não iremos deletar registros constantemente e em partes importantes. Alguma opinião sobre o Pack e o contexto acima?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida Pack Harbour x Pack Clipper
Ola!
Em programação, ao afirmar isso:
Como podemos corrigir, esse problema ? para quê inventar o PACK então ? Isto é, com o Harbour que estou me referindo, no clipper isso não pode ser mais corrigido, se existir. Pode ser um erro causado pelo trafego da rede, na maioria dos casos o problema com DBF é isso, corromper índices, mas usando Linux, eu nunca tive esse problema nem usando o Letodb no windows. Com mapeamento isso ocorria o tempo todo.
O problema existe. Mas e preciso saber porquê ele ocorre e na minha opinião não tem nada a ver com o comando PACK.
Tem uma rotina do Rick Spences, que faz uma cópia do DBF usando !deleted(), não usa PACK para mim é a maneira mais segura. Até porque na rede mapeada essa cópia pode falhar sem perder a matriz dos dados. E isso ocorrendo com PACK detona o DBF e índices, perdendo a matriz dos dados.
Saudações,
Itamar M. Lins Jr.
Em programação, ao afirmar isso:
é preciso demonstrar.porque no Clipper isso causava problemas, até duplicava registros.
Como podemos corrigir, esse problema ? para quê inventar o PACK então ? Isto é, com o Harbour que estou me referindo, no clipper isso não pode ser mais corrigido, se existir. Pode ser um erro causado pelo trafego da rede, na maioria dos casos o problema com DBF é isso, corromper índices, mas usando Linux, eu nunca tive esse problema nem usando o Letodb no windows. Com mapeamento isso ocorria o tempo todo.
O problema existe. Mas e preciso saber porquê ele ocorre e na minha opinião não tem nada a ver com o comando PACK.
Tem uma rotina do Rick Spences, que faz uma cópia do DBF usando !deleted(), não usa PACK para mim é a maneira mais segura. Até porque na rede mapeada essa cópia pode falhar sem perder a matriz dos dados. E isso ocorrendo com PACK detona o DBF e índices, perdendo a matriz dos dados.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Dúvida Pack Harbour x Pack Clipper
Para tentar evitar algum problema com o pack, executo o comando apenas no servidor na maquina principal (local). Executo geralmente um PACK de 3 em 3 dias.
Creio que o problema pode estar como o sistema trabalha. Nesta rotina acima, pode ser até mais seguro, mais requer mais atenção e tarefas, ao criar um novo arquivo deve-se atentar-se em recriar seus índices que requer modo exclusivo, o que torna inviável em um ambiente de rede.Itamar M. Lins Jr. escreveu:Tem uma rotina do Rick Spences, que faz uma cópia do DBF usando !deleted(), não usa PACK para mim é a maneira mais seguraAté porque na rede mapeada essa cópia pode falhar sem perder a matriz dos dados. E isso ocorrendo com PACK detona o DBF e índices, perdendo a matriz dos dados
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida Pack Harbour x Pack Clipper
Ola!
Saudações,
Itamar M. Lins Jr.
Ué! com o PACK também. É a mesma coisa. Basta apenas indexar depois.que requer modo exclusivo, o que torna inviável em um ambiente de rede.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Dúvida Pack Harbour x Pack Clipper
o sistema roda via TS, ou seja, localmente no servidor, removi o Pack na indexação, ou seja, apaga os CDX mas não executa o PACK, fiz isto ontem vamos ver como vai se comportar, fora isto não vou mexer mais pq não vejo no q mexer, vou fazer como alguns colegas ir migrando as tabelas pra MySQL/MariaDB nativo mesmo no console (já uso em Xailer em projetos menores), até chegar num ponto q esteja tudo migrado.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida Pack Harbour x Pack Clipper
Ola!
Eu não reindexo nada desde muitos anos, quando comecei a usar o Letodb não tive mais esses problemas. Só quando falta energia ou novos índices são criados, uso CDX.
Quando migrar para o MariaDb, com certeza vai achar algumas incoerências.
Saudações,
Itamar M. Lins Jr.
Porque tem esses erros nos índices ?apaga os CDX mas não executa
Eu não reindexo nada desde muitos anos, quando comecei a usar o Letodb não tive mais esses problemas. Só quando falta energia ou novos índices são criados, uso CDX.
Quando migrar para o MariaDb, com certeza vai achar algumas incoerências.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Dúvida Pack Harbour x Pack Clipper
Sim tanto o PACK como a criação dos ÍNDICES requer modo exclusivo. O alerta foi para que além de copiar para um novo DBF haveria necessidade de recriar os índices em seguida ou não e mais criar mais volume de arquivos no HD (imagina esta operação em um arquivo enorme, mesmo que hoje haja HDs com espaço de sobra, há questão de aumento no tempo de backup por exemplo).Itamar M. Lins Jr. escreveu:Ué! com o PACK também. É a mesma coisa. Basta apenas indexar depois.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Dúvida Pack Harbour x Pack Clipper
Da época do CA-Clipper, dois artigos de Greg Holmes relacionados com o comando PACK:
http://www.ghservices.com/gregh/clipper/trix0006.htm
http://www.ghservices.com/gregh/clipper/trix0007.htm
http://www.ghservices.com/gregh/clipper/trix0006.htm
http://www.ghservices.com/gregh/clipper/trix0007.htm
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Dúvida Pack Harbour x Pack Clipper
Ola!
O problema do PACK, é faltar energia ou detonar a base matriz. Usando o o método do Rick Spencer(fazer uma cópia) isso é minimizado porque vc está trabalhando "rotina de gravação" em outro arquivo. Depois vc pode, se desejar apagar ou não a cópia com os registros deletados ou mover para outra pasta que não sofra a ação do backup. É mais lento, mas fica bem minimizado o problema. É simples de entender, vc estará trabalhando sempre com o BACKUP, nunca com as matrizes de dados.
Saudações,
Itamar M. Lins Jr.
Não por isso. Vc pode apagar ou não a cópia.(imagina esta operação em um arquivo enorme, mesmo que hoje haja HDs com espaço de sobra, há questão de aumento no tempo de backup por exemplo).
O problema do PACK, é faltar energia ou detonar a base matriz. Usando o o método do Rick Spencer(fazer uma cópia) isso é minimizado porque vc está trabalhando "rotina de gravação" em outro arquivo. Depois vc pode, se desejar apagar ou não a cópia com os registros deletados ou mover para outra pasta que não sofra a ação do backup. É mais lento, mas fica bem minimizado o problema. É simples de entender, vc estará trabalhando sempre com o BACKUP, nunca com as matrizes de dados.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dúvida Pack Harbour x Pack Clipper
A última vez que tive problema desses foi por volta de 1990, época em que o 386 DX com 4MB de memória era novidade.
Quando comentava sobre isso por aqui o pessoal até estranhava, porque parece que ninguém nunca tinha visto esse problema.
Depois de tantos anos, isso volta a ser assunto.... rs
Existe a possibilidade de reaproveitar registros deletados.
Dá pra criar um índice pra isso, sem flag adicional.
E pra aproveitar registros deletados, algo parecido com isto:
Não uso isso, mas se fosse usar, seria parecido com isso.
Quando comentava sobre isso por aqui o pessoal até estranhava, porque parece que ninguém nunca tinha visto esse problema.
Depois de tantos anos, isso volta a ser assunto.... rs
Existe a possibilidade de reaproveitar registros deletados.
Dá pra criar um índice pra isso, sem flag adicional.
Código: Selecionar todos
SET DELETED OFF
INDEX ON .... TAG DELETED ... FOR Deleted()
Código: Selecionar todos
SET DELETED OFF
OrdSetFocus( "DELETED" )
GOTO TOP
IF RecLock()
SKIP 0 // Segurança, atualizar informação depois do bloqueio
IF Deleted() // segurança, se ninguém ainda reaproveitou
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

