ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dbtables metodo AddIndex

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
gutonovaes19
Novato
Novato


Registrado: Quarta-Feira, 18 de Junho de 2008
Mensagens: 50

MensagemEnviada: Sex Mai 05, 2017 11:09 am    Assunto: Dbtables metodo AddIndex Responder com Citação

Bom dia
Utilizo um procedimento para recriar indices em tabelas paradox. Ele está na unit DBTABLES (delphi5) ou BDE (delphi mais novo).

Uma de minhas tabelas está com volume muito grande 370 mil registros. Nao estou conseguindo recriar indices, ocorre erro 9476 - TEMPORARY TABLE RESORCE LIMIT.

No entanto, usando o DATABASE DESKTOP (dbd32.exe) consigo recriar cada um dos índices dessa tabela.
Quero acreditar que exista alternativa ao ADDINDEX ou outra forma de contornar o 9476. Não dá para abandonar o cliente, ok? Criticas ao Paradox e BDE eu dispenso.
Agradeço quem puder ajudar.
Abraços
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Sex Mai 05, 2017 11:19 am    Assunto: Responder com Citação

Veja se a solução deste link te ajuda:
https://www.scriptbrasil.com.br/forum/topic/172885-resolvido%C2%A0erro-usando-dbe-com-sql-server/
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gutonovaes19
Novato
Novato


Registrado: Quarta-Feira, 18 de Junho de 2008
Mensagens: 50

MensagemEnviada: Sex Mai 05, 2017 11:32 am    Assunto: Responder com Citação

natanbh1 escreveu:
Veja se a solução deste link te ajuda:
https://www.scriptbrasil.com.br/forum/topic/172885-resolvido%C2%A0erro-usando-dbe-com-sql-server/


Obrigado, mas não é essa situação. O problema ocorre quando preciso recriar os índices (reindexar).
Utilizo o método DBTABLES.ADDINDEX. Imagino exista outro método ou tecnica que faça o que preciso. Presumo que o ADDINDEX tente criar algum arquivo auxiliar/temporário. Mas não tenho o CÓDIGO FONTE para descobrir.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Sex Mai 05, 2017 12:27 pm    Assunto: Responder com Citação

Entendi. Mas este problema acontece ao tentar consumir um recurso muito grande do BD, independente da operação executada.

O procedimento que indiquei aumenta a capacidade de memória para os recursos do BDE para o Paradox.

Para efeito de testes, abra o BDE e nas definições do Paradox, defina o Blocksize para = 4096 e Level = 7.

Rode novamente seu código para criação dos índices.

Este link da embarcadero fala destes limites de memória para BDE:
http://edn.embarcadero.com/br/article/15159

Este outro é sobre problemas de memória em geral para BDE:
http://aflsistemas.com.br/blog/2009/08/17/solucao-para-os-erros-do-bde-relacionados-a-memoria/
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gutonovaes19
Novato
Novato


Registrado: Quarta-Feira, 18 de Junho de 2008
Mensagens: 50

MensagemEnviada: Sex Mai 05, 2017 1:49 pm    Assunto: Responder com Citação

Natan,
Eu uso blocksize 32768, level 7. Demais configurações do BDE idem aos artigos.
Tabela está com 1384bytes de tam de registro. Tamanho do DB 520mb.

Apaguei alguns campos (colunas). Tamanho do registro chegou a 1203bytes.
Aí sim, consegui recriar os índices. Arquivo ficou com 437mb.

Li os limites dos artigos mas não encontrei nada fora do permitido.

Essa tabela possui alguns indices secundários. para testar, deixei apenas o primário, mas, mesmo assim, não consegue aplicar o metoro ADDINDEX. O erro ocorre logo ao tentar recriar o índice primario. A impressão que tenho é que esse método tenta criar um arquivo temporário.
Esquentanto e quebrando a cabeça aqui.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CENTURYINF
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 19 de Fevereiro de 2010
Mensagens: 364

MensagemEnviada: Seg Mai 08, 2017 9:31 am    Assunto: Responder com Citação

Me envie um email, que te enviarei um projeto que tenho aqui para voce \testar com seus arquivos

centuryinf1@gmail.com

ate mais
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gutonovaes19
Novato
Novato


Registrado: Quarta-Feira, 18 de Junho de 2008
Mensagens: 50

MensagemEnviada: Ter Mai 09, 2017 11:39 am    Assunto: Responder com Citação

CENTURYINF escreveu:
Me envie um email, que te enviarei um projeto que tenho aqui para voce \testar com seus arquivos

centuryinf1@gmail.com

ate mais


Amigo, não sei seu nome. Mandei-lhe o e-mail ontem, espero que tenha recebido.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CENTURYINF
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 19 de Fevereiro de 2010
Mensagens: 364

MensagemEnviada: Qui Mai 11, 2017 10:41 am    Assunto: Responder com Citação

Estou te mandando o projeto no email que voce me enviou, mas esta retornando com erro,,,
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB