como apagar registros de arquivo externo no IB

Firebird

14/12/2005

Criei um arquivo assim no IB:
create table xxx external file c:\bd\arq.txt (campo1 integer)

quando dou incluo um append fonciona perfeitamente.

O problema é quando dou um delete ele nao permite apagar o registo do arquivo externo.
Eu preciso esvaziar este arquivo de vez em quando pq ele é usado como log de alteracoes.

Alguem sabe como eu faço pra esvaziar o arquivo externo txt

[color=green:bcd0a4eba2]Movido de Delphi para Interbase/Firebird[/color:bcd0a4eba2]


M@rcelo

M@rcelo

Curtidas 0

Respostas

Edilcimar

Edilcimar

14/12/2005

crie o arquivo novamente, ele será criado vazio


GOSTEI 0
M@rcelo

M@rcelo

14/12/2005

No windows nao tem problema
do um drop na tabela . e dou um deletefile no arquivo deopis é so criar.

meu problema ´q que tem clientes que tem como servidor o linux ai o deletefile nao funciona e eu nao sei como apagar no linux.

se eu der um drop no arquivo e recrialo sem apagalo com um deltefile o arquivo é recriado com os dados antigos .


GOSTEI 0
Edilcimar

Edilcimar

14/12/2005

se der um drop e depois der outro create table ele não pode ser recriado com dados dentro, se está acontecendo isto é porque o drop não está funcionando


GOSTEI 0
M@rcelo

M@rcelo

14/12/2005

incrivel
mas acabei de testar ecconteceu o que te falei.
criei a tabela inclui dados dei um drop depois recriei e os dados estavam todos la. qdo dei o drop o txt ficou la intacto.
o que sera isso?


GOSTEI 0
Edilcimar

Edilcimar

14/12/2005

o drop não está funcionando, tente apagar a tabela de outra maneira ou criar a tabela com outro processo tipo assignfile() com rewrite


GOSTEI 0
M@rcelo

M@rcelo

14/12/2005

vou tentar mas sera que o assignfile funcina com servidor linux?


GOSTEI 0
Edilcimar

Edilcimar

14/12/2005

suponho que sim, mas procure no help do delphi se ele também é clx ou se é apenas vcl


GOSTEI 0
M@rcelo

M@rcelo

14/12/2005

ok obrigado


GOSTEI 0
Afarias

Afarias

14/12/2005

vamos por partes...

|Alguem sabe como eu faço pra esvaziar o arquivo externo txt

isso não é possível. vc tem mesmo q deletar os registros ´fora´ do banco ou simplesmente apagar o arquivo


|funciona e eu nao sei como apagar no linux

no cosole?? rm <nome do arquivo>


|crie o arquivo novamente, ele será criado vazio

não


|se der um drop e depois der outro create table ele não pode ser recriado
|com dados dentro, se está acontecendo isto é porque o drop não está
|funcionando

Na verdade o DROP está funcionando perfeitamente, assim como o CREATE tambem. Tabelas externas funcionam assim mesmo.


T+


GOSTEI 0
POSTAR