Acessar uma tabela em DBF
Boa tarde pessoal,
Eh o seguinte tenho aqui na empresa Banco Oracle e tambem tenho uma tabela com algumas configuracoes em DBF(codbase), o Oracle eu acesso com o DbExpress essa tabela DBF acesso com TQuery funciona perfeitamente na Empresa Matriz, pois o BD e essa tabela DBF estao aqui, mas quando tento acessar atraves de um link de 256Kb da BrasilTelecom o Oracle fica quase que se fosse acesar localmente, mas essa maldita tabela em DBF leva em torno de 5(cinco) minutos para ler e mais 5 minutos para fazer uma atualizacao, isso que tem somente 2226 linhas, o pior eh que nao posso colocar essa tabela no Oracle tem que ficar assim mesmo.
Minha pergunta eh se tem alguma forma de acessar essa tabela e fazer movimentacoes de uma forma mais rapida.
para ler faco assim
para atualizar faco assim depois de acrescentar 1 na sequencia.
Pela demora acho que toda a tabela esta sendo carregada na hora que executo as querys, mas nao tenho certeza se eh isso mesmo e de como resolver.
Para essa tabela uso TdataSource e uma TQuery.
Eh o seguinte tenho aqui na empresa Banco Oracle e tambem tenho uma tabela com algumas configuracoes em DBF(codbase), o Oracle eu acesso com o DbExpress essa tabela DBF acesso com TQuery funciona perfeitamente na Empresa Matriz, pois o BD e essa tabela DBF estao aqui, mas quando tento acessar atraves de um link de 256Kb da BrasilTelecom o Oracle fica quase que se fosse acesar localmente, mas essa maldita tabela em DBF leva em torno de 5(cinco) minutos para ler e mais 5 minutos para fazer uma atualizacao, isso que tem somente 2226 linhas, o pior eh que nao posso colocar essa tabela no Oracle tem que ficar assim mesmo.
Minha pergunta eh se tem alguma forma de acessar essa tabela e fazer movimentacoes de uma forma mais rapida.
para ler faco assim
Q_X6999.Close; Q_X6999.SQL.Clear; Q_X6999.SQL.ADD (´SELECT CONTEUD, FIL, VAR FROM X6999 WHERE FIL = ´´09´´ AND VAR = ´´SEQUENCIA´´ ´); Q_X6999.OPEN; DM_CAIXA.SEQUENCIA := Q_X6999.Fields[0].Text;
para atualizar faco assim depois de acrescentar 1 na sequencia.
Q_X6999.Close; Q_X6999.SQL.Clear; Q_X6999.SQL.Add(´UPDATE X6999 SET´); Q_X6999.SQL.Add(´ CONTEUD = ´´´+DM_CAIXA.SEQUENCIA+´´´, CONTSPA = ´´´+DM_CAIXA.SEQUENCIA+´´´, CONTENG = ´´´+DM_CAIXA.SEQUENCIA+´´´ ´); Q_X6999.SQL.Add(´ WHERE FIL = ´´09´´ AND VAR = ´´SEQUENCIA´´ ; ´); Q_X6999.ExecSQL;
Pela demora acho que toda a tabela esta sendo carregada na hora que executo as querys, mas nao tenho certeza se eh isso mesmo e de como resolver.
Para essa tabela uso TdataSource e uma TQuery.
Claudio_f
Curtidas 0
Respostas
Macario
27/09/2006
Ola.
Acho que em seu caso ha necessidade de utilizar [b:5c9814544e]WebServices[/b:5c9814544e].
Acesso a dbf, voce fica com a conexao aberta com a tabela, este deve ser a origem da lentidao.
Acho que em seu caso ha necessidade de utilizar [b:5c9814544e]WebServices[/b:5c9814544e].
Acesso a dbf, voce fica com a conexao aberta com a tabela, este deve ser a origem da lentidao.
GOSTEI 0