Fórum Undelete em Paradox, é possível ? #183845

24/09/2003

0

Inadvertidamente deletei todos os registros de uma tabela Paradox 7. Ao abrir a tabela com o Database Desktop, ela se mostra vazia. Porém ocupa 128Kb. Ao abri-la com algum editor de texto, vê-se que está preenchida com centenas de linhas, porém incompreensíveis. Se alguém tiver alguma dica, ficarei muito grato. carlosrm.


Carlosrm

Carlosrm

Responder

Posts

24/09/2003

Helderjr

Colega tente assim, peguei essa dica no livro 365 dicas de Delphi do Bruno Sonnino, nunca usei mas acredito que de certo pois as dicas do Bruno são muito uteis.

procedure TForm1.Button1Click(Sender: TObject);
var
Table : TTable;
RProps : RecProps;
begin
Table := TTable.Create(Self);
with Table do begin
DatabaseName := Table1.DatabaseName;
TableName := Table1.TableName;
Open;
DbiSetProp(hDbiObj(Handle),curSOFTDELETEON,1);
Refresh;
First;
While not Eof do begin
DbiGetRecord(Handle,dbiNOLOCK,nil,@RProps);
if RProps.bDeleteFlag then
Check(DBIUndeleteRecord(Handle));
Next;
end;
Close;
Free;
end;
end;


Responder

Gostei + 0

24/09/2003

Aroldo Zanela

Colegas,

Receio que esta rotina sirva apenas para tabelas dBase, pois a estrutura de tabelas Paradox é completamente diferente ao dBase. Acredito que não existe mecanismo de ´Undelete´ para tabelas Paradox.


Responder

Gostei + 0

24/09/2003

Bacalhau

Com ou sem essa possibilidade, relembro ao colega carlosrm que faça um backup antes de qualquer tentativa.
:wink: Abraço


Responder

Gostei + 0

24/09/2003

Sistemald

Eu já utilizei uma rotina parecida com esta, só que ao invés de restaurar os dados usei para apagar, funcionou em bd Paradox.


Responder

Gostei + 0

24/09/2003

Aroldo Zanela

Colegas,

Eu nunca utilizei paradox, mas todas as respostas sobre este assunto que foi submetida ao TeamB teve a mesma resposta - Não é possível recuperar. Quanto a rotina semelhante que o colega se refere-se, deve ser uma rotina de PACK.


Responder

Gostei + 0

24/09/2003

Mmtoor

Prezado amigo.
Há um componente de nome atParadoxRepair, free.
Se ele não recuperar sua tabela paradox, esqueça.
Se quiser me mandar, tento por aqui.
valhaha.mysql@bol.com.br
MMTOOR2003


Responder

Gostei + 0

24/09/2003

Carlosrm

Agradeço a presteza e atenção de todos os colegas (inclusive pelo alerta e puxão-de-orelhas do Bacalhau (he he)) e vou seguir as orientações de vocês. MMTOOR2003, tô te mandando um e_mail...
De novo, obrigados... carlosrm.


Responder

Gostei + 0

25/09/2003

Aroldo Zanela

Prezado amigo. Há um componente de nome atParadoxRepair, free. Se ele não recuperar sua tabela paradox, esqueça. Se quiser me mandar, tento por aqui. valhaha.mysql@bol.com.br MMTOOR2003

Colegas,

TatParadoxRepair component The atParadoxRepair is a Paradox table repair component. Just drop in on form, assign a DatabaseName (or directory) and a TableName (in design-time or run-time) and execute the Rebuild method. It will fix the corrupted paradox file. The atParadoxRepair component needs the TUtil32.DLL file.


Ou seja, o objetivo do componente é reparar tabelas corrompidas e não recuperar registros ´deletados´.


Responder

Gostei + 0

25/09/2003

Bacalhau

Ó estimado carlorm não foi um puxão de orelhas!!! Há tempos tive um cliente que foi invadido por toxicodependentes (pessoal da droga) e incendiaram-lhe a empresa - o desgraçado não tinha backups e quase que se... digamos que enterrava a empresa!

Quanto ao undelete: eu fiz um teste em que criei uma pequena tabela com 3 registos. guardei (salvei) a tabela, apaguei os registos e guardei a nova tabela com os registos apagados num nome diferente.

Depois comparei no Notepad. O resultado foi um pouco preocupante, para não usar palavrões. Todo o espaço dos registos APAGADOS foi ocupado com a informação do ÚLTIMO registo apagado.

Alguém consegue explicar como os engenheiros Paradox caem nisto? Eu tenho sido o maior defendor do Paradox, mas depois desta...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar