Bom dia Dorival !!
O Six é um RDD (Replaceable Database Driver).
Existe o SIXNTX, SIXCDX E O SIXCDX.
Nos indices Ntx vc tem q criar um arquivo ntx para cada indice.
Aumentando assim os handles para abertura de arquivos e tornando a aplicação mais lenta.
Nos Indices compostos assim como são chamados os Cdx e os Nsx, existem somente um arquivo onde neles se encontram os indices multiplos (Tags).
Limites:
Ntx = 15 Indices
Cdx = 99 Tags
Nsx = 50 Tags
As Vantagens que noto são as seguintes:
- vc verá a redução do tamanho do arquivo de indice, como é um unico arquivo, ocupando menos espaço em disco.
- performance durante atualização cadastramento ou alteração de dados fica mais agil e tb na hora de reorganização.
- qdo vc cria uma nova tag vc naum precisa ficar alterando o programa adicionando mais uma chamada no "set index", por exemplo no ntx vc cria mais um indice, vc tem q adicionar ele no prg para mantê-lo atualizado, no six como é um arquivo unico vc soh usa o dbsetindex ou set index chamando esse unico arquivo onde existirá todos seus indices criados, naum terá mais q perder tempo cada vez q cria uma tag nova.
- os filtros tornam-se mais potentes com as funções sx_setscope()
- vc pode criptografar seus bancos usando as funçoes
* sx_dbfencrypt()
* sx_setpass() // para definir senha para abertura do arquivo e chave criptografia, tenho mtos dbfs criptografados...para segurança..
Eu uso o NSX há 2 anos uso a versão 3.02 e nunca tive problemas.
Pegue-o daqui...do site do Wagner Nunes...eu a uso...
http://www.vagucs.com.br/download/six302.zip
no Set Include vc adiciona o dir include do Six
no set LIb vc adiciona o dir Lib onde vc instalou o Six
no Obj vc adiciona o dir Obj onde vc instalou o Six...rs
para usar o Nsx o q tenho q fazer ??
no seu prg vc deve adicionar
include "SIXNSX.CH"
definir RDDSETDEFAULT("SIXNSX") na procedure onde vc abre os bancos...
exemplo:
Código: Selecionar todos
Static Procedure Bancos()
RddSetDefault("SIXNSX")
use arquivo alias arqnovo
O Six abre automaticamente o indice....caso vc naum defina um nome para ele...
Para criar os indices...
exemplo:
Código: Selecionar todos
RddSetDefault("SIXNSX")
// sempre exclua o o indice nsx antes de gerar
// o Trazom descobriu q ele aumenta o tamanho caso vc
// reorganizar por cima..
ferase("arquivo.nsx")
use arquivo
pack
index on CODIGO tag 1 for !deleted() // para gerar a tag sem os reg excl.
index on NOME tag 2
// como naum defini o nome do nsx ele gerou o indice com o nome do bancos de dados...do dbf...gerou o arquivo.nsx....com as tags de nome 1 e 2...
Logo para abrir seu banco...
rddsetdefault("sixnsx")
use arquivo
//se quiser...mas eu defino...
dbsetindex("arquivo")
// para mudar a ordem
dbsetorder(2) //muda para a tag ordenada por nome...
para linkar....
tanto tudo certim nas config do set include, lib e obj,
adicione a lib Six3 no seu arquivo de script no lnk...
Eu to o usando o Six tb no 5win..e até agora to di boa...
QQ coisa se naum conseguir da um toque....