Como Restaurar a Base De Dados Caso alguma operação Falhar
Estou realizando Operações em uma tabela A e tenho como Base para Isto Outra Tabela B...
O Que eu Gostaria de saber e qual a maneira mais Correta de Houver algum erro Nesta Operação <<<de Leitura da Tabela B para a Escrita na Tabela A>>> A Tabela A Ficasse inalterada, isto é , Da mesma Forma que estava antes , com os mesmos Registros,
[b:5bd6d827e5]Antes[/b:5bd6d827e5] : Tabela A
[b:5bd6d827e5]Incio Da Operação[/b:5bd6d827e5] : A Ler dado de B
[b:5bd6d827e5]Final da Operação:[/b:5bd6d827e5]
e se não Houver Erro Salvo os Novos Dados Da Tabela [b:5bd6d827e5]A := A + B[/b:5bd6d827e5]
Se Erro existiu : A Fica como estva antes.. [b:5bd6d827e5]A + A[/b:5bd6d827e5]
P:S Para vacilitar a vida eu trabalho [b:5bd6d827e5]Localmente[/b:5bd6d827e5] , e com [b:5bd6d827e5]BDE[/b:5bd6d827e5] (que salvo a memoria ele mantem um cache local com os registros ja carregados na tabela
A := A + B Se der erro em alguma operação A = A
O Que eu Gostaria de saber e qual a maneira mais Correta de Houver algum erro Nesta Operação <<<de Leitura da Tabela B para a Escrita na Tabela A>>> A Tabela A Ficasse inalterada, isto é , Da mesma Forma que estava antes , com os mesmos Registros,
[b:5bd6d827e5]Antes[/b:5bd6d827e5] : Tabela A
[b:5bd6d827e5]Incio Da Operação[/b:5bd6d827e5] : A Ler dado de B
[b:5bd6d827e5]Final da Operação:[/b:5bd6d827e5]
e se não Houver Erro Salvo os Novos Dados Da Tabela [b:5bd6d827e5]A := A + B[/b:5bd6d827e5]
Se Erro existiu : A Fica como estva antes.. [b:5bd6d827e5]A + A[/b:5bd6d827e5]
P:S Para vacilitar a vida eu trabalho [b:5bd6d827e5]Localmente[/b:5bd6d827e5] , e com [b:5bd6d827e5]BDE[/b:5bd6d827e5] (que salvo a memoria ele mantem um cache local com os registros ja carregados na tabela
Marco Salles
Curtidas 0
Respostas
Edilcimar
25/04/2005
coloque
try
façaalgo
except
façaoutracoisa
end
try
façaalgo
except
façaoutracoisa
end
GOSTEI 0
Gandalf.nho
25/04/2005
Dependendo do banco de dados vc pode usar o mecanismo de transações
GOSTEI 0
Marco Salles
25/04/2005
Dependendo do banco de dados vc pode usar o mecanismo de transações
Sem dúvida acho este o caminho..
Propriedade StartTransaction --->>> Marca o inicio de uma transição Propriedade Commit ---->>> Confirma todas as Atualizações Feitas no Banco de dados Propriedade Rollback --->>> Retorna o banco de dados ao seu estado anterior ao inicio da Transação
:arrow: Para isto eu Preciso de um DataBase
GOSTEI 0
Marco Salles
25/04/2005
[b:f47f992220]Existe outra alternativa[/b:f47f992220]... So que esta, Nun to conseguindo :cry: :cry:
Usar [b:f47f992220]Atualizações em Cache [/b:f47f992220]como Transaçoes :arrow: Isto siginifica manter as atualizaçoes na memória e depois as enviar para a tabela Física todas de Uma Vez.
O problema, e que eu tenho duas tabelas
tabela A --->>> Inicio en Cache
Table B ---->>> Inicio em Cache
[color=red:f47f992220]*************************************************************
[/color:f47f992220][b:f47f992220]Aqui esta o Problema[/b:f47f992220]
[b:f47f992220]Em algumas situaçoes [/b:f47f992220]Precisarei Gravar novos Dados na [b:f47f992220]Tabela B[/b:f47f992220]
Depois de Gravar Na [b:f47f992220]tabela B[/b:f47f992220] < Lembre-se que eu estou Trabalhando [b:f47f992220]em Cache [/b:f47f992220]> Tenho que efetuar Um Pesquisa Na Tabela B.... :arrow: Porque os Dados Que serão inseridos Na tabela A Depende Desta Pesquisa
[color=red:f47f992220]*************************************************************[/color:f47f992220]
[b:f47f992220]Ai esta o Problema[/b:f47f992220] :arrow:
[b:f47f992220][color=darkred:f47f992220]Eu Gostaria de efetuar esta pesquisa nos dados que [size=18:f47f992220]estão Em Cache [/size:f47f992220](Ja com as Alterações) e não Efetuar a Pesquisa na Tabela Fisica, cujos os dados [size=18:f47f992220]ainda Estão devasados[/size:f47f992220]...[/color:f47f992220][/b:f47f992220]
Ate o momento não sei como fazer Isto :?: :?: :?: :cry: :cry: :cry:
Usar [b:f47f992220]Atualizações em Cache [/b:f47f992220]como Transaçoes :arrow: Isto siginifica manter as atualizaçoes na memória e depois as enviar para a tabela Física todas de Uma Vez.
O problema, e que eu tenho duas tabelas
tabela A --->>> Inicio en Cache
Table B ---->>> Inicio em Cache
[color=red:f47f992220]*************************************************************
[/color:f47f992220][b:f47f992220]Aqui esta o Problema[/b:f47f992220]
[b:f47f992220]Em algumas situaçoes [/b:f47f992220]Precisarei Gravar novos Dados na [b:f47f992220]Tabela B[/b:f47f992220]
Depois de Gravar Na [b:f47f992220]tabela B[/b:f47f992220] < Lembre-se que eu estou Trabalhando [b:f47f992220]em Cache [/b:f47f992220]> Tenho que efetuar Um Pesquisa Na Tabela B.... :arrow: Porque os Dados Que serão inseridos Na tabela A Depende Desta Pesquisa
[color=red:f47f992220]*************************************************************[/color:f47f992220]
[b:f47f992220]Ai esta o Problema[/b:f47f992220] :arrow:
Faço uma pesquisa Na Tabela B com uma query em Sql .. Esta pesquisa não Enxerga os Novos Dados Inseridos Na Tabela B... Esses Dados ainda Não Foram Enviados Para a Tabela Fisica. Isto faz sentido , so naõ atende a minha necessidade
[b:f47f992220][color=darkred:f47f992220]Eu Gostaria de efetuar esta pesquisa nos dados que [size=18:f47f992220]estão Em Cache [/size:f47f992220](Ja com as Alterações) e não Efetuar a Pesquisa na Tabela Fisica, cujos os dados [size=18:f47f992220]ainda Estão devasados[/size:f47f992220]...[/color:f47f992220][/b:f47f992220]
Ate o momento não sei como fazer Isto :?: :?: :?: :cry: :cry: :cry:
GOSTEI 0