Página 1 de 1

Implantaçao de ADS

Enviado: 16 Out 2011 15:17
por Eros
Tem alguém ai que ja passou pela experiencia de pegar uma grande base de dados em .DBF e implantar juntamente com seu ERP escrito em Clipper, as funções de tratamento de dados do ADS - Advantage Data Server ?

Eu consegui baixar as funções, mas não encontrei nenhum manual, rotina ou explicação na internet.

Gostaria que, se alguem que já trabalhou com na implantação do ADS pudesse me explicar o caminho das pedras para implementaçao dentro do fonte e a implantação dessa solução.

O sistema atual roda (sem ads) em servidor Netware Novell 3.12 e tem quase 2 Gbytes de dados em DBF. Tem cerca de 48 usuarios simultaneos.

Há arquivos bastante grandes que demoram indexar (.IDX) e gostaria de conhecer melhor e aprender sobre o ADS, para avaliar se compensa coloca-lo. E se compensar, como implementa-lo dentro do codigo fonte da aplicação que usamos.

Mas não há por parte da Sybase nenhum interesse em ensinar como usar e implantar o ADS. Será que alguem por ai, poderia me explicar, mesmo que fosse por e-mail ??? Alguem que

O problema mais sério que temos é quebra de indices, reindexação e velocidade. Em relaçao a acessos, não ha problemas.

Implantaçao de ADS

Enviado: 16 Out 2011 22:17
por JoséQuintas
O que chama de grande?
Eu mudei meu conceito de grande quando trabalhei no sistema de uma transportadora.
Alguns arquivos com mais de 1 milhão de registros, e o backup não cabia num DVD de 9GB.
O ADS era sub-utilizado, trabalhando em NTX, que não tira proveito do ADS.
A diferença era apenas na hora de linqueditar.

O limite do Clipper é em relação aos arquivos individuais, tamanho e quantidade de registros.
Dependendo do seu caso, pode ser que o Harbour/xHarbour seja mais indicado.

Mas você precisaria verificar detalhes do seu sistema.
Há algumas formas de otimizar que parecem até mentira.
A principal, meio automática em SQL, é não ter chave duplicada.
Exemplo:
Numa base de lançamentos de 1GB, indexar por código de cliente vai demorar muito mais do que indexar por cliente+lançamento.
A primeira vista, a chave maior parece que vai fazer demorar mais, mas na prática fica muito mais rápido, porque vai ser menos análise na hora de "encaixar" uma chave.

Pera aí.... NOVELL 3.12
Se o servidor fica 24 horas no ar, é normal ter problemas a cada 1 semana ou 10 dias.
É OBRIGATÓRIO reiniciar o servidor uma vez por semana pra não ter problema.
Se acompanhar via debug, vai ver que o clipper retorna errado, LastRec() retorna LastRec()+1, e dá erro na hora de fazer Append.
A Novell 3.12 acaba se perdendo no tamanho de arquivo, retornando um tamanho maior, e gerando esse erro.

Esse problema percebi no APPEND, diretamente no DBF, mas acredito que possa acontecer com qualquer arquivo, até o IDX.

Outro problema que tive:
Campo MEMO.
Só de existir o campo memo, dava erro de índice.
Esse erro eu comprovei que era só por existir o memo.
index on pedido to temp
seek "0001" // aqui já dava erro
Ao transformar a observação do pedido para caractere, ao invés de memo, não tive mais esse problema.

Esse erro que mencionei da Novell 3.12, acontece com alguns drivers da Microsoft também.
Já que usa Novell 3.12, pode estar usando Windows 95 e Windows 98.
Faz tempo... não lembro direito... Talvez a 95 OSR2 e 98 OSR2 que continham drivers com problema.

E já tive problema quando usava um terminal com W2000 na rede W98.

Espero que as informações ajudem.

Implantaçao de ADS

Enviado: 19 Out 2011 19:32
por Eros
Amigo,

Utilizamos Novell Netware 3.12, devido a estabilidade, segurança e rapidez. Nao trava, nao da pau, e dificilmente pega virus, e nao tenho problemas de invasao nao autorizada.

Por outro lado, os problemas de tamanho de arquivo, Lastrec(), Recno(), Append, tambem nao tenho esses problemas.

Utilizamos Clipper com funções proprias em C.

A intenção de se utilizar o ADS, é para garantir estabilidade dos dados, e principalmente problemas na indexaçao dos dados.

As bases de dados estao grandes, e quando necessário reindexar, demora muito. E como o ADS preservará por maior tempo a indexaçao segura dos dados, poderemos estar tendo um ganho enorme de velocidade e tempo.

Nao ha previsao para migrarmos para Harbor nos proximos 12 meses. E uma migraçao neste momento demandaria um investimento muito alto, que nao seria possivel agora, pelo fato da empresa estar investindo em outras areas. Portanto investimento em parque de máquinas, so existe provisao para daqui a uns 12, 15 meses.

So que problema é hoje, preciso de uma soluçao funcional e eficiente. Ja trocamos os indices .NTX para .IDX.

Mudamos os registros mais antigos para arquivos mortos, que sao poucos acessados.

O problema é que a demanda de todas tarefas aumentou repentinamente, em escala nao esperada.

Mas estamos trabalhando para conseguir o ADS, estuda-lo, implanta-lo e manter tudo funcionando como sempre esteve.

Implantaçao de ADS

Enviado: 19 Out 2011 21:05
por JoséQuintas
Eu usei exclusivamente Clipper até este ano.
Os problemas que mencionei na Novell 3.12 aconteceram, e eram por manter o servidor muito tempo no ar.

Não que vá resolver seus problemas, mas pode aproveitar que mudou pra IDX e já alterar pra CDX.
A diferença é que vários IDX ficam dentro de um CDX, e conta como somente um arquivo aberto.
Isso ajuda a ter sempre todos os índices abertos, e na mesma ordem (parece que isso afeta atualização), já que vira tudo um arquivo só.

Uma coisa que me ajudou muito a descobrir problemas que os usuários não falavam foi criar um programa para enviar erros por email.
Mas não no sistema, fora dele. Uso até hoje.

Faço assim:
JPA.EXE
JPA.EXE /emailerro copia@copia.com.br

A segunda chamada é exclusivamente para a rotina.
JPA.EXE sempre encerra limpando a tela.
Na segunda chamada, através de savescreen() vejo se tem algo na tela, e envio por email.
Há muitos erros onde o EXE simplesmente aborta, e a rotina de erros normal não pegaria, por isso em separado o resultado é melhor.
Os usuários nunca avisam.

Mais outra que lembrei hoje: WINDOWS 98.
Tem uma invenção da Microsoft no Windows 98, que é "suspender em segundo plano".
Quando acontece isto, o programa é congelado, e tudo que bloqueou continua bloqueado.
Outras máquinas não vão conseguir usar os registros que esse terminal bloqueou e vão acusar erro.

Já tive meu sistema usado em até 100 terminais, e os problemas que tive foram os que mencionei.
Era muito raro eu ter que fazer reindexação.
O sistema era pra pedidos e eram usados por quase todos da empresa, desde vendedores, até montadores e estoquistas.
Todos mexendo nos pedidos ao mesmo tempo.

Não sei o que roda nos seus terminais, mas uma coisa que sempre usei, e sempre ajudou, foi ajustar o sistema para uso máximo da OSLIB.
Também em rotinas de bloqueio de registro, e tudo mais.
O Windows realmente precisa tempo de CPU pra colocar as coisas em ordem, e o Clipper pode impedir isso se compilado sem nada extra.
Usei Clipper até julho deste ano, e não lembro quando foi a última vez que alguém precisou reindexar.
Mas minhas bases de dados tem menos de 1GB.
A transportadora que mencionei tinha bases com mais de 10GB, e por isso usava ADS, porque era mais do que o limite do Clipper.
Um dia tentei reindexar o backup aqui com Clipper, e travou tudo.

A propósito... Faz algum tempo tentei usar a Novell 3.12 aqui em máquina virtual e não deu certo. Não sei se o problema é HD Sata, ou tamanho de disco. Alguma dica?

Implantaçao de ADS

Enviado: 19 Out 2011 21:10
por JoséQuintas
Um complemento:
Como eu gerava as versões do EXE pra Clipper, ADS pra WIndows XP e ADS pra WIndows 98

if not errorlevel 1 blinker @st.lnk output st.exe file extras\dbfntxax lib extras\axsbcomm.lib lib extras\dbfaxs.lib
if not errorlevel 1 blinker @st.lnk output stfil.exe
if not errorlevel 1 blinker @st.lnk output stwin.exe file extras\dbfntxax search extras\axipbcom lib extras\dbfaxs

Só isso de diferença pra usar com ou sem ADS.

Implantaçao de ADS

Enviado: 19 Out 2011 21:26
por Eros
Até onde eu sei, a novel 3.12 nao tem drive para rodar beleza em HD sata. Tem drives nativos para rodar em HD IDE ou SCSI. A unica vez que tentei usar HD sata, travou tudo e eu larguei.

Mas com controladora SCSI e HD SCSI, nao tenho conhecimento de problemas

Voce falou de duas compilaçoes para usar ADS com windows 98 w com Windows XP. Nao sei se entendi direito. Mas no meu caso, se vou usar o ADS no servidor netware, entao vou ter que instalar o servidor ADS no servidor novell, e o cliente vai ser o clipper puro, pois até onde eu sei, nao preciso ter um ADS para windows 98 ou para windows XP instalado nas maquinas.

Pelo que pesquisei, é so compilar a parte do ADS cliente com o sistema e pronto. Sera que estou errado ??

Implantaçao de ADS

Enviado: 19 Out 2011 23:37
por JoséQuintas
Provavelmente é só isso mesmo.
Não cheguei a mexer com ADS em Netware.
Só usar a LIB correta.

E provavelmente no Netware, é só instalar o ADS Server, e tudo pronto.

Implantaçao de ADS

Enviado: 20 Out 2011 13:44
por Eros
Felizmente, conseguimos o ADS para clipper e Novell Netware. A implementaçao é simples e muito funcional. Muito bom mesmo.

Aquela firulas de ter que ficar inventando opções, retreinando usuarios, é uma preocupação a menos. Afinal, mexer em time que esta ganhando, é bobagem.

Obrigado a todos que contribuiram para essa conquita.

Implantaçao de ADS

Enviado: 28 Out 2011 17:42
por Migao
Oi amigo estamos numa situação muito semelhante à sua.. Rede Novell, 50 usuários... Acesso remoto através de Rádio...

Porém estamos usando o XBase++ que é o sucessor do Clipper , 32 bits.

Vc pode nos dizer quem foi teu fornecedor do ADS ?

Vc alterou os indices pra CDX ? Parece que é legal fazer isso...

Outra dúvida : consegue usar o mesmo DBF misturando aplicativos com e sem ADS ? Por exemplo alguns sistemas acessam via ADS e outros direto..


Abraço e boa sorte aews no projeto !

Implantaçao de ADS

Enviado: 28 Out 2011 18:35
por Eros
A Renet é a representante do ADS Sybase no Brasil, mas atendem muito mal, nao tem suporte, nao tem nada. Eles tambem nao se interessam em vender e nao tem mais na linha de vendas, o ADS 7.0 para Clipper. Hoje eles so querem vender o ADS 10 em diante que é para aplicações visual, e que certamente ninguem vai usar um programa visual e nao pense em usar um SGDB, que seja Firebird no minimo.

Porém os preços da Renet são bastante salgados. Eles falam em 30, 40 mil reais, como se fosse 100 reais.

Consegui pesquisando na internet com uma pessoa que ja comprou muito tempo atras o ADS, isso a uns 9 anos atras. Usava Clipper tambem. Hoje nao usa mais, e me arrumou, ja que nao tem no mercado mais esse produto no distribuidor, a um preço bem módico, mas tudo funcionando direitinho. Era o que eu precisava mesmo.

No seu caso, talvez voce vá precisar de uma versao mais nova, já que seu esquema é 32 bits.

A mudança dos indices para CDX é muito simples. Basta trocar a Lib nativa do clipper - DbfNtx.lib para DbfCDX.LIB e recompilar sua aplicação.

Evidentemente os indices .CDX e/ou .IDX sao melhores. Eu, por trabalhar com bolsa de indices, fiquei com .IDX devido a velocidade ganha.

NAO E RECOMENDAVEL utilizar uma aplicaçao com ADS e outra sem no mesmo DBF. Aquela que nao usa ADS vai quebrar o indice, causar estouro de pilha e outros problemas. Eu tenho um ERP debulhado em varias aplicações, e quando eu usei algumas com ADS e outra sem, nao funcionou legal.

O recomendável é que todas aplicações sejam recompiladas usando as lib´s e funções do ADS e assim, fica integrado mesmo, como se fosse um verdadeiro SGDB.

Porém, como voce esta usando 32 bits, pode haver alguma vantagem pra voce nesse aspecto.

Implantaçao de ADS

Enviado: 28 Out 2011 20:22
por Migao
- Sim tenho tido contato com a Renet mesmo. Até então tenho sido bem atendido porém não comprei ainda :D

- Não atentei para o detalhe da versão. No entanto nosso uso é exclusivamente para XBase++ mas vou ver esse detalhe da versão. Foi bom que vc "cantou a bola".

- Legal vc ter se virado e achado um jeito de fazer tudo funcionar e resgatar o sistema ! De fato converter regras de negócio em coisas que estão funcionando não é simples não. Nosso sistema opera integrado com um Mainframe de forma on-line. Ele consulta o Mainframe via TCP/IP (Biblioteca Asinet do XBase++) e transaciona com programas em Cobol atualizando também o Banco de Dados láh. Isso tudo já funcionava em Clipper também porém atualmente quase tudo está em XBase++ msm. São muitas regras de negócio não é simples converter não. E fora o fato da Base ser DBF tudo funciona legal. Grande problema são os DBFs msm...

- A questão dos índices CDX eu sei que é simples. Inclusive já tenho Compilação Condicional (# IFDEF/#ENDIF) do XBase++ pra isso. Só queria saber se esse é um passo necessário pro ADS. Me parece que uma estratégia legal é JÁ CONVERTER os índices pra CDX antes de migrar. Eu penso em fazer isso e deixar rodar por um tempo pra ver se borbulha algum problema. Se não houver próximo passo é entrar no ADS.

- Não tenho campos MEMOs (MErdasmesMOS) !

- Vc fala "Bolsa de índices" (q isso ???? vc leva teus índices na bolsa ? na sacola ? rs) ou "Bolsa de Valores" ? :-O

- O fato de querer utilizar de 2 formas simultaneas (nativo e com ADS) é porque eu pensaria em ir convertendo estação por estação , ou seja, ter alguns usuários somente (os mais cooperativos) em modo Teste enquanto o restante do sistema continuaria normal. Mas sim , eu já receava esse problema... Também não acho legal a estratégia de misturar não. É que se for converter TUDO tem também o custo. Eu tenho que comprar todas as licenças de uma só vez... Se fosse seguro usar simultaneo eu iria diluindo o custo mês a mês... Mas vamos bolar uma estratégia legal de conversão, vamos ver...

- Teu sistema é Clipper msm ? Não experimentou XBase++ ? Vale MUITO a pena... Operamos com ele desde 1998.. É um salto ENORME em relação ao Clipper. Inclusive é possível operar sim com parte do sistema em Clipper e a outra já convertida em XPP (acessando os mesmos DBFs é claro). E dá também pra gerar 2 executáveis (um em Clipper e outro em XBase++) mantendo o MESMO código fonte. Isso tb é muito legal porque vc pode ir convertendo com tempo...

- Ah , outra coisa, suas estações são remotas ou tudo numa rede Local ? Quantos servidores Novell vc tem ? São "parrudos" os servidores ? Na minha cabeça o ADS requer um pouco mais do servidor (e muito menos da estação). Vc turbinou o Servidor ? Qual hardware dele pode nos dizer ? Que Novell vc usa ?

- Há um recurso muito legal do ADS chamado Full Text Search , que é a famosa pesquisa de strings. Vc está usando ?

- E quanto ao formato nativo do ADS (.ADT) vc experimentou ?

+ 1 vez muito grato aew pela tua ajuda Amigão e suce$$o no teu projeto !