Migrar de NTX para CDX. Como proceder ????
Moderador: Moderadores
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Re: Migrar de NTX para CDX. Como proceder ????
Bom dia galera !!!!
Toda parte de indexação dos arquivos já está pronto e funcionando legal, já estou finalizando e testando as rotinas de cadastros, pois como eu usava NTX eu abria vários indices no set index, e as vezes, na ordem que ficasse mais comodo dentro da rotina que iria usar, por exemplo, no cadastro de clientes, eu tinha ind1,ind2,ind3,ind4 e dependendo da rotina que ia usar, no set index eu nao abria obrigatóriamente nessa ordem, e até as vezes abria somente o indice que eu iria usar, por isso estou tendo que fazer esses ajustes, tanto na abertura do indice, pois agora estou abrindo somente um CDX com várias TAGs e tambem estou tendo que ajustar os set order nas rotinas, por isso está levando um bom tempo.
Mas como eu disse a parte do cadastro já está pronto e estou finalizando os testes, agora já vou partir pra parte de movimentação no módulo de Pedido/Faturamento e depois fazer os módulos restantes.
Estou postando essa mensagem para dar uma posição de como está o andamento, pois afinal de contas, esse trabalho está andando graças a ajuda de todos voces !!! :{
Grato a todos pela atenção, e podem ter certeza, que assim que o sistema todo estiver rodando no cliente, posto outra mensagem dizendo como foi o resultado de tudo isso.
Forte abraço e sucesso a todos. :)Pos
Toda parte de indexação dos arquivos já está pronto e funcionando legal, já estou finalizando e testando as rotinas de cadastros, pois como eu usava NTX eu abria vários indices no set index, e as vezes, na ordem que ficasse mais comodo dentro da rotina que iria usar, por exemplo, no cadastro de clientes, eu tinha ind1,ind2,ind3,ind4 e dependendo da rotina que ia usar, no set index eu nao abria obrigatóriamente nessa ordem, e até as vezes abria somente o indice que eu iria usar, por isso estou tendo que fazer esses ajustes, tanto na abertura do indice, pois agora estou abrindo somente um CDX com várias TAGs e tambem estou tendo que ajustar os set order nas rotinas, por isso está levando um bom tempo.
Mas como eu disse a parte do cadastro já está pronto e estou finalizando os testes, agora já vou partir pra parte de movimentação no módulo de Pedido/Faturamento e depois fazer os módulos restantes.
Estou postando essa mensagem para dar uma posição de como está o andamento, pois afinal de contas, esse trabalho está andando graças a ajuda de todos voces !!! :{
Grato a todos pela atenção, e podem ter certeza, que assim que o sistema todo estiver rodando no cliente, posto outra mensagem dizendo como foi o resultado de tudo isso.
Forte abraço e sucesso a todos. :)Pos
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Re: Migrar de NTX para CDX. Como proceder ????
Em tempo,
Uma coisa que percebi na indexação do arquivos é que, se eu primeiro abrir o dbf e verificar se nao ocorreu nenhum erro (neterr()) pra depois apagar o cdx, eu não consigo apagar o cdx, pois quando eu abro o dbf, automaticamente o cdx já é aberto pois tem o mesmo nome do dbf, entao ao fazer o index to meu cdx vai aumentando de tamanho. O que eu fiz foi na rotina de indexação, primeiro tentar apagar o cdx e se obtver êxito, ai sim eu abro o dbf e faço a indexação. :-´
Até mais.
Uma coisa que percebi na indexação do arquivos é que, se eu primeiro abrir o dbf e verificar se nao ocorreu nenhum erro (neterr()) pra depois apagar o cdx, eu não consigo apagar o cdx, pois quando eu abro o dbf, automaticamente o cdx já é aberto pois tem o mesmo nome do dbf, entao ao fazer o index to meu cdx vai aumentando de tamanho. O que eu fiz foi na rotina de indexação, primeiro tentar apagar o cdx e se obtver êxito, ai sim eu abro o dbf e faço a indexação. :-´
Até mais.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Arquivos de Indices
Sandro,
Alegro-me que seu sistema esteja tomando outro rumo, motivado pelo CDX. Só gostaria de esclarecer um ponto muito importante que você mencionou:
Se você em determinado módulo (não que eu esteja afirmando que você faz, Sandro) você abrir um DBF com alguns (não TODOS) indices e fizeres um replace no DBF, os outros índices desse DBF irão ficar desatualizados e você terá que forçar uma re-indexação, o que esta prática causa um certo trastorno, principalmente se o sistema estiver em rede.
Este conceito, serve tanto para NTXs como para CDXs. Não cometa esse erro.
Alegro-me que seu sistema esteja tomando outro rumo, motivado pelo CDX. Só gostaria de esclarecer um ponto muito importante que você mencionou:
A nível de esclarecimento, espero que ja seja conhecimento de todos. Quando temos vários arquivos de índices, é fundamental para sua atualização que vocês abra TODOS os índices do DBF que irás usar em modo ESCRITO. Modo escrito, me refiro sempre que seu sistema venha a fazer qualquer atualização no DBF. Seja inserir novo registro, alterar registro ou atés mesmo deletar. Pois se você não for abrir todos os índices de tal DBF, estes irão ficar DESATUALIZADOS. Desculpem fazer ênfase das palavras, mas é um assunto relevante que precisa ser considerado.até as vezes abria somente o indice que eu iria usar
Se você em determinado módulo (não que eu esteja afirmando que você faz, Sandro) você abrir um DBF com alguns (não TODOS) indices e fizeres um replace no DBF, os outros índices desse DBF irão ficar desatualizados e você terá que forçar uma re-indexação, o que esta prática causa um certo trastorno, principalmente se o sistema estiver em rede.
Este conceito, serve tanto para NTXs como para CDXs. Não cometa esse erro.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Re: Migrar de NTX para CDX. Como proceder ????
Pablo,
Agradeço a ajuda, e tenha certeza que a preocupação é muito válida, pois eu quando comecei no clipper cometi muito esse erro, de abrir somente os ntx que iria usar em pesquisa e fazer atualização de dbf, deixando assim outros indices desatualizados. Porém, em nossos programas hoje, qdo eu disse que as vezes abria somente alguns ntx, isso é somente quando nao vou fazer atualização no dbf, ou seja, somente em consultas, relatorios, etc...
Abraço.
Sandro
Agradeço a ajuda, e tenha certeza que a preocupação é muito válida, pois eu quando comecei no clipper cometi muito esse erro, de abrir somente os ntx que iria usar em pesquisa e fazer atualização de dbf, deixando assim outros indices desatualizados. Porém, em nossos programas hoje, qdo eu disse que as vezes abria somente alguns ntx, isso é somente quando nao vou fazer atualização no dbf, ou seja, somente em consultas, relatorios, etc...
Abraço.
Sandro
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Migrar de NTX para CDX. Como proceder ????
Olá Pablo,
Esse tipo de preocupação que vc citou em CDX passa ser desnecessario, sendo que quando vc abre um DBF e tiver usar o SET AUTOPEN ON ele abre o CDX automatico junto com o DBF não prescisando esquentar a cabeça se esta abrindo ou não o indice, e se tiver usando o SEU AUTOOPEN OFF , assim mesmo vc vai abrir um unico INDICE que onde se encontra todas as TAG ou seja, é um unico indice com varios indice dentro, sendo assim todos sempre vão esta Atualizados, trabalhar com CDX é tudo de bom.
Esse tipo de preocupação que vc citou em CDX passa ser desnecessario, sendo que quando vc abre um DBF e tiver usar o SET AUTOPEN ON ele abre o CDX automatico junto com o DBF não prescisando esquentar a cabeça se esta abrindo ou não o indice, e se tiver usando o SEU AUTOOPEN OFF , assim mesmo vc vai abrir um unico INDICE que onde se encontra todas as TAG ou seja, é um unico indice com varios indice dentro, sendo assim todos sempre vão esta Atualizados, trabalhar com CDX é tudo de bom.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Migrar de NTX para CDX. Como proceder ????
Obrigado Leonardo pelo seu esclarecimento. Então o CDX cuida automaticamente que sejam aberto todos os indices correspondente ao DBF. Sendo assim o conceito é o mesmo, cuidar que os indices todos sejam atualizados. Legal o esclarecimento.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Re: Migrar de NTX para CDX. Como proceder ????
Pessoal, eu Converti meus DBFs pelo Xharbour, para migrar de NTX para CDX.
Agora eu preciso substituir meu DBASE3 (que não serve mais) , por um DBASE(n) que abra e manipule esses DBFs convertidos.
Alguém disponibiliza uma cópia para mim ?
Grato,
Gabriel
Agora eu preciso substituir meu DBASE3 (que não serve mais) , por um DBASE(n) que abra e manipule esses DBFs convertidos.
Alguém disponibiliza uma cópia para mim ?
Grato,
Gabriel
lugab
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Migrar de NTX para CDX. Como proceder ????
Lembrando....desde que o arquivo de índice tenha o mesmo nome do arquivo de dados.Pablo César escreveu:Então o CDX cuida automaticamente que sejam aberto todos os indices correspondente ao DBF
Gabriel, procure na net sobre OurXdbu. É muito interessante.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Re: Migrar de NTX para CDX. Como proceder ????
Gabriel, salve!
Creio que os utilitários abaixo irão lhe atender com sobra no contexto de sua necessidade...
Os 2 primeiros são versões diferentes que correspondem a indicação do Alamino...
ourXdbu-1.5.2.0 http://www.4shared.com/file/149006629/b ... 0.html?s=1
ourXdbu-1.1.0.0 http://www.4shared.com/file/149005655/e ... -1100.html
WinDBU.exe http://www.4shared.com/file/148701843/2 ... inDBU.html
Prometheus 2000 http://www.4shared.com/file/148703167/b ... DBU_e.html
Um abraço!
Creio que os utilitários abaixo irão lhe atender com sobra no contexto de sua necessidade...
Os 2 primeiros são versões diferentes que correspondem a indicação do Alamino...
ourXdbu-1.5.2.0 http://www.4shared.com/file/149006629/b ... 0.html?s=1
ourXdbu-1.1.0.0 http://www.4shared.com/file/149005655/e ... -1100.html
WinDBU.exe http://www.4shared.com/file/148701843/2 ... inDBU.html
Prometheus 2000 http://www.4shared.com/file/148703167/b ... DBU_e.html
Um abraço!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Migrar de NTX para CDX. Como proceder ????
Caro Pablo.
Estou usando os mesmos DBF´s. Porém, os índices "CDX" não estão sendo criados e sim os "NTX".
Netavin
Estou usando os mesmos DBF´s. Porém, os índices "CDX" não estão sendo criados e sim os "NTX".
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Migrar de NTX para CDX. Como proceder ????
Como está sua rotina de Indexação? Coloque ao menos uma linha de como você está criando os índices.Netavin escreveu:Caro Pablo.
Estou usando os mesmos DBF´s. Porém, os índices "CDX" não estão sendo criados e sim os "NTX".
Netavin
E veja nessa resposta desse mesmo tópico que você precisa acrescentar 2 comandos no início do programa informando o RDD que vai usar.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Migrar de NTX para CDX. Como proceder ????
Para quem quiser acrescer mais algum conhecimento sobre o assunto, outro tópico postado foi:
https://pctoledo.org/forum/viewto ... 42&t=11848
https://pctoledo.org/forum/viewto ... 42&t=11848
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Migrar de NTX para CDX. Como proceder ????
Amigos e Prof. Toledo, é muito bom ver essa comunidade tão viva. Passo tempo sem acessar, mas quando me deparo com certos obstáculos aqui é a salvação.
Migrei há muito tempo meu sistema principal para índices .CDX - sucesso total: memoria, agilidade, velocidade e principalmente recursos de filtragem pelos índices.
Bom... me ajudem com o seguinte cenário: --Uma Rotina de Contas a Receber--
-Em um modulo de Baixa(Quitação de Documentos), solicito o Código do Cliente (ou através de busca por nome, encontra o código).
-Criei uma cópia do arquivo do ct.receber (receber.dbf => ctrecsep.dbf) onde abro em modo exclusivo e executo Zap.
-Através do filtro .CDX executo Do While !Eof() e vou Adicionando (Append Blank) os registros no arquivo ctrecsep.dbf.
-Beleza até aí então. O operador de caixa executa a baixa informando valor e data pagos. Tranquilo.
-Na saída da rotina leio do inicio ao fim o arquivo ctrecsep.dbf e faço busca através do número do documento no arquivo principal (receber.dbf) executando REPLACE dos dados de registros que foram alterados, com o devido travamento de registros RLOCK(). Até aí tudo bem também.
-Acontece que após isso tudo executo: DBCOMMITALL(), DBCLOSEALL().
-Não é toda vez, mas as vezes na após isso apresenta um erro: DBFCDX 1210, as vezes no DBCOMMITALL, as vezes no DBCLOSEALL. Pesquisei sobre o erro no NortonGuide e informa que os Arquivos de índices e os arquivos de banco de dados estão fora de sincronia.
Já rodei meus .prg e nada que possa estar pela rede "desincronizando" isso.
Help.... Ajuda aí! Obrigado a todos.
Migrei há muito tempo meu sistema principal para índices .CDX - sucesso total: memoria, agilidade, velocidade e principalmente recursos de filtragem pelos índices.
Bom... me ajudem com o seguinte cenário: --Uma Rotina de Contas a Receber--
-Em um modulo de Baixa(Quitação de Documentos), solicito o Código do Cliente (ou através de busca por nome, encontra o código).
-Criei uma cópia do arquivo do ct.receber (receber.dbf => ctrecsep.dbf) onde abro em modo exclusivo e executo Zap.
-Através do filtro .CDX executo Do While !Eof() e vou Adicionando (Append Blank) os registros no arquivo ctrecsep.dbf.
-Beleza até aí então. O operador de caixa executa a baixa informando valor e data pagos. Tranquilo.
-Na saída da rotina leio do inicio ao fim o arquivo ctrecsep.dbf e faço busca através do número do documento no arquivo principal (receber.dbf) executando REPLACE dos dados de registros que foram alterados, com o devido travamento de registros RLOCK(). Até aí tudo bem também.
-Acontece que após isso tudo executo: DBCOMMITALL(), DBCLOSEALL().
-Não é toda vez, mas as vezes na após isso apresenta um erro: DBFCDX 1210, as vezes no DBCOMMITALL, as vezes no DBCLOSEALL. Pesquisei sobre o erro no NortonGuide e informa que os Arquivos de índices e os arquivos de banco de dados estão fora de sincronia.
Já rodei meus .prg e nada que possa estar pela rede "desincronizando" isso.
Help.... Ajuda aí! Obrigado a todos.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Migrar de NTX para CDX. Como proceder ????
Amiguinho,
Cada programador tem uma mentalidade em relação a formação de seu banco de dados e das rotinas de manutenção. Pelo que vejo voce criou esta metodologia de forma a suprir os problemas causados pelo mau uso dos registros pelos usuários.
Em meu sistema tenho vários campos para a data do registro(data, areceber, recebido,previsao), campo de valor principal, valor pago, juros, descontos, extras e campo flag para quitado ou não.
Minha sugestão é voce não usar outra tabela e sim permitir a manutenção direta no arquivo principal e se tiver de fazer retificação ficará mais facil limpar alguns campos e o registro volta ao normal.
A opção para restaurar este registro quitado erroneamente seria extorno e ela se encarregaria de limpar os campos que são usados no preenchimento da quitação.
Agora em relação ao problema relatado o que pode ocorrer é:
No momento que sua rotina esta executando a leitura, ao passar por um certo registro, que esteja travado em outra maquina, ao travar o registro, na verdade destrava o mesmo na outra maquina e sua rotina falha neste momento.
Cada programador tem uma mentalidade em relação a formação de seu banco de dados e das rotinas de manutenção. Pelo que vejo voce criou esta metodologia de forma a suprir os problemas causados pelo mau uso dos registros pelos usuários.
Em meu sistema tenho vários campos para a data do registro(data, areceber, recebido,previsao), campo de valor principal, valor pago, juros, descontos, extras e campo flag para quitado ou não.
Minha sugestão é voce não usar outra tabela e sim permitir a manutenção direta no arquivo principal e se tiver de fazer retificação ficará mais facil limpar alguns campos e o registro volta ao normal.
A opção para restaurar este registro quitado erroneamente seria extorno e ela se encarregaria de limpar os campos que são usados no preenchimento da quitação.
Agora em relação ao problema relatado o que pode ocorrer é:
No momento que sua rotina esta executando a leitura, ao passar por um certo registro, que esteja travado em outra maquina, ao travar o registro, na verdade destrava o mesmo na outra maquina e sua rotina falha neste momento.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.

