Olá joserubenildosilva,
joserubenildosilva escreveu:Olá!
Tenho um sistema de factoring rodando hoje com clipper 5.01 com NTX, isso em torno de 80 tabelas e uns 150 indices criados. A Indexação tem que ser diaria, e sempre que um terminal cai(energia, etc) tenho que indexar, isso sem falar nos dados que são perdidos e tal.
Bom, por uma falta de energia e um micro sem No-break, até entendo que pode ter problemas, mas fora isso você tem um problema ai, pq isso não é normal de ter que indexar todo dia, eu tenho sistema com muito mais DBF e INDICE e não tenho que fazer isso todo dia e se tivese seria um cara morto por clientes, pq indexar um sistema varios DBF e com milhoes de registros, isso demora muito.
Bem, "migrei" para o xharbour, coloquei entre aspas, pois aina acontece algo estranho.
O Sistema esta compilado no xharbour se apresentar problemas, no inicio tive problemas com a dbedit, mas com ajuda aqui no forum consegui contornar o problema, tinha umas funcões que funcionavam certinho no clipper 5.01 e agora não mais funcionam, ou os resultados não são o esperado.
Reconheço que o sistema, em muitos pontos tem os chamados "quebra-galhos" mas funciona, no 5.01 e no xharbour não.
Jose, por mais que o xharbour seja compativel com Clipper, alguma coisa tem que ajustar, até mesmo para melhor em seus aplicaivos. Como por exemplo a implantação de impressão USB podendo apneas acresentar um
GetDefaultPrinter(). E tem alguns erro que o Clipper permite que o xHarbour não permite, EX:
USE AGENDA ALIAS AGENDA SHARED // abrindo
INDEX ON CODIGO TO AGENDA1 // criando indice
INDEX ON NOME TO AGENDA2 // criando indice
INDEX ON ENDERECO TO AGENDA3 // criando indice
SET INDEX TO AGENDA1,AGENDA2 // abrindo indice
SELE AGENDA
DBSETORDER(3) // aqui o clipper pegaria o primeiro indice pq o 3º não foi aberto, no xharbour ele causa um erro
Então resumindo, Nesse caso acima teria que dar uma revisada em todos fontes principalmente na abertura de DBF e INDICE.
Amigos, o que devo fazer?
Penso em fazer da seguinte forma:
1° deixar ele 100%(fazendo o que faz hoje no 5.01) sem alterar banco de indices(NTX -> CDX)
2° Migrar para indices CDX
3° Compilar para o Linux e usar SSH
3 ° Migrar para um banco relacional(MySql talvez)
Gostaria de algumas dicas e opiniões sobre o assunto.
Obs: Futuramente pretendo acessa-lo via terminal server ou SSH se estiver no Linux.
Na minha opnião em primeiro lugar você deveria fazer esse sistema rodar todo em CDX com TAG, digo isso pq sua dor de cabeça com indice vai se eliminar pela metade. Depois do mesmo rodando todo em CDX vai ficar até mais facil de ver e localizar o pq e onde esta corrompendo os indice, se é que isso vai acontecer depois que tiver todo em CDX com TAG.O Terceiro passo que você citou é muito bom, que é compilar sua app em linux, apenas deve cuidar algumas poucas limitações que acontece em linux, como uso de alguma LIG grafica ou algumas classes que só compilam em Windows, como WIN32PRN, ou seja não compativel com Linux, mas em modo console vai que é beleza.
E sobre migrar a mesma para MYSQL, isso sim, será um grande ganho, digo não só de desempenho(que usando os comandos SQL certo, ele voa baixo) mas por segurança e disponibilidades de integrações com WEB e outros sistemas via REMOTO.
Apesar com RDDLETO, hoje é possivel usar DBF remoto, e pode compilar em Windows e Linux.
Se quiser saber mais sobre RDD LETO, postei ontem um pequeno passo a passo de como compilar e usar.
viewtopic.php?f=33&t=8167Abraços
Leonardo Machado