|
|
Postada em 04/03/2007 09:28 hs
Srs, existe alguma forma de, numa base de dados access multiusuário, travar o banco de dados, para de tempos em tempos, o sistema compactar a base de dados?
|
|
|
|
|
|
|
|
Postada em 04/03/2007 13:07 hs
travar não... vc vai ter q fechar a conexão para fazer a compactação... Compactação feita realiza-se novamente a conexão ao banco. qq dúvida é só postar at+
|
|
|
|
|
|
Postada em 04/03/2007 13:34 hs
Cara, é um norte, mas como eu fecho a conexão? o sistema tá no servidor, o usuário tá puxando um link, tá num formulário que tá linkado na base de dados. e ai na hora de rodar a rotina de compactação? tem algum comando que interprete que o banco de dados tá sendo utilizado e ai ele fecha a conexão?
|
|
|
|
|
|
Postada em 04/03/2007 14:13 hs
Olha, já teve um post sobre este assunto... eu tb tive um caso assim e na hora de compactar não fazia no meio do expediente... a compactação/reparação e backup só era feita após o expediente ae não tem problema... se vc fizer no meio do horário comercial, com os usuários usando o problema surge: qual o melhor horário? Qdo e como avisar? O jeito mais simples q vejo no momento é criar um timer q vai verificar uma tabela ou acessar um arquivo q contém uma msg... caso vc precise desconectar para fazer a compactação o arquivo com o aviso será acessado: "A conexão ao servidor será encerrada momentaneamente. Não será possível fazer qualquer transação" ou alguma msg deste tipo. Depois da msg acione uma sub (procedure) q fechará a conexão ao banco. Faça a compactação lá no computador/servidor e depois restaure a conexão do mesmo modo q vc fechou... é apenas uma sugestão sendo q pode ter vários outros meios de se fazer isso... qq dúvida postae at+
|
|
|
|
|
|
Postada em 04/03/2007 14:57 hs
ótimo, mas continuo com cara de burro: como é o comando para desfazer essa conexão? cara tô perdido...
|
|
|
|
|
|
Postada em 04/03/2007 16:41 hs
Se for ADO: Dim Conexao as Adodb.Connection ... Conexao.Close Se for DAO Dim Banco as Database ... Banco.Close
|
|
|
|