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 

Corrupt File

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
thebest.fer
Novato
Novato


Registrado: Segunda-Feira, 22 de Janeiro de 2007
Mensagens: 1

MensagemEnviada: Seg Jan 22, 2007 3:38 pm    Assunto: Corrupt File Responder com Citação

Olá Pessoal estou precisando muito da ajuda de vcs, estou com um baita pepino, uso do Banco de dados Paradox. e tem um arquivo movto.db que quando abro ele no dbd32 do descendo com a barra de rolagem ele chega quase no final..trave e some tudo....e da a mensagem de CORRUPT FILE OTHER THAN READER...ja exclui..arquivos..val.px.y.x.mb.recriei as tabelas e nada..usei o doctor expert..e nada..alguém pode me ajudar por favor!!!!!!
Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Jan 28, 2007 6:28 pm    Assunto: Responder com Citação

Já tentou copiar os dados para outra tabela com a mesma estrutura talvez de certo...

procedure TFormCopia.BitBtn1Click(Sender: TObject);
var
I: Integer;
begin
Database1.Connected:=True; // Database para controle
Table2.DatabaseName:=DirectoryListBox1.Directory; // Seleciona local de destino da cópia
with Session1 do
begin
Active:=True;
GetTableNames('AliasName','*.*',True,True,Memo1.Lines); // Retorna o nome das tabelas
end;
for I:= 0 to Memo1.Lines.Count - 1 do
begin
Table1.TableName:=Memo1.Lines[I]; // Tabela origem
Table2.TableName:=Memo1.Lines[I]; // Tabela destino
BatchMove1.Execute;
end;
end;
Para efetuar a restauração:

procedure TFormRestaura.BitBtn1Click(Sender: TObject);
var
I: Integer;
begin
Database1.Connected:=True;
Table2.DatabaseName:=DirectoryListBox1.Directory; // Origem da restauração
with Session1 do
begin
Active:=True;
GetTableNames(Table2.DatabaseName,'*.*',True,True,Memo1.Lines); // Retorna nomes das tabelas
end;
for I:= 0 to Memo1.Lines.Count - 1 do
begin
Table1.TableName:=Memo1.Lines[I]; // Tabela origem

Table2.TableName:=Memo1.Lines[I]; // Tabela destino BatchMove1.Execute;
end;
end;

Após restaurar por este método, você deve recriar os índices.




bye...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Jan 28, 2007 7:09 pm    Assunto: Responder com Citação

Isto tb pode te ajudar, não custa tentar...


695 - Como copiar tabelas Paradox para Texto ou DBase e vice-versa
1) Inclua um TDATABASE no seu Form e sete as seguintes propriedades:
DatabaseName = 'Temp'
DriverName = 'STANDARD'
Params.Strings = 'path=c: este' (ou qq outro path)
Connected = True
2) Inclua outro TTable em seu Form e sete as seguintes propriedades:
DatabaseName = 'Temp'
Name = 'DESTINO'
TableType = ttASCII ou ttDbase ou ttParadox
TableName = o nome da nova tabela, sem extensão. Ex: 'Clientes'
IMPORTANTE: Não mexa na propriedade ACTIVE.

3) Inclua um TTable em seu Form, contendo a tabela que você quer copiar e mude a propriedade Name para ORIGEM.
IMPORTANTE: Não mexa na propriedade ACTIVE.

4) Inclua um TBATCHMOVE em seu Form e sete as seguintes propriedades:
Destination = 'DESTINO'
Mode = batCopy
Source = 'ORIGEM'
5) Inclua um TBUTTON em seu form e dê um duplo click no evento OnClick.
6) Escreva o seguinte código na procedure OnClick:
var
fn: FMTNumber;
begin
// O código a seguir verifica se o separador de
// decimais é virgula e muda-o, para evitar
// problemas de compatibilidade
Check(DbiGetNumberFormat(fn));
if fn.cDecimalSeparator = ',' then
begin
fn.cDecimalSeparator := '.';
fn.cThousandSeparator := ',';
DbiSetNumberFormat(fn);
end;
// Aqui executamos a CÓPIA
BatchMove1.Execute;
end;


bye....
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados 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