Undelete em Paradox, é possível ?
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
Curtidas 0
Respostas
Helderjr
24/09/2003
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;
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;
GOSTEI 0
Aroldo Zanela
24/09/2003
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.
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.
GOSTEI 0
Bacalhau
24/09/2003
Com ou sem essa possibilidade, relembro ao colega carlosrm que faça um backup antes de qualquer tentativa.
:wink: Abraço
:wink: Abraço
GOSTEI 0
Sistemald
24/09/2003
Eu já utilizei uma rotina parecida com esta, só que ao invés de restaurar os dados usei para apagar, funcionou em bd Paradox.
GOSTEI 0
Aroldo Zanela
24/09/2003
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.
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.
GOSTEI 0
Mmtoor
24/09/2003
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
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
GOSTEI 0
Carlosrm
24/09/2003
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.
De novo, obrigados... carlosrm.
GOSTEI 0
Aroldo Zanela
24/09/2003
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´.
GOSTEI 0
Bacalhau
24/09/2003
Ó 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...
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...
GOSTEI 0