|
Postada em 01/02/2007 10:31 hs
E ai galera.... Consegui utilizar o comando para compactar o banco de dados pela aplicação. Mas se algum usuário está utilizando o sistema, da erro. Como fazer para fechar a conexão de todos os usuários ao banco para que eu possa fazer a compactação ? Gilberto.
|
|
|
|
|
Postada em 01/02/2007 10:39 hs
Hummm, vc usa um arquivo executável compartilhado ou é instalado em cada máquina?
|
|
|
|
Postada em 01/02/2007 12:20 hs
Voce usa o Access, então vai uma dica, não sei se é correta, mas tenho usado sem problemas. Se outro usuário estiver com o BD aberto, retorna em erro, ai voce coloca uma função de erro, mas para evitar isto, veja o Access, quando tem algum usuário com o BD aberto, ele cria um arquivo com o nome do BD, e a extensão LDB, que aparece com o icone de um cadeado. Antes de compactar seu BD, verifique na mesma pasta do BD, se existe este arquivo, se existir algum usuário está logado, informe ao usuário que o BD está sendo usado, para que todos fechem o BD, para posterior compactação. vlu//
|
|
|
|
Postada em 01/02/2007 18:27 hs
Ghost_jlp eu uso um executavel em cada máquina.... lcramos, eu gostaria de cortar mesmo a conexão com o banco. Vc sabe como é usuário, ne ? Não colabora de jeito nenhum. Abraço
|
|
|
|
Postada em 01/02/2007 19:18 hs
Eu tenho uma idéia: - Se o banco de dados for compartilhado em um servidor para todos os usuários, seria necessário apenas vc. desligar a placa de rede enquanto faz a compactação; - Antes de fazer isto você manda pela rede uma mensagem via Ms-DOS Net Send O Servidor do Banco XXX estará fora do ar em X Minutos. Salve tudo o que está fazendo. Espero que ajude.
http://www.vilmarbro.com.br
|
|
|
|
Postada em 02/02/2007 09:46 hs
uma idéia q me ocorre agora e colocar um timer em seu sistema q verifica o bd. Qdo acessar uma tabela em q o registro está com um flag de "desconectar" então o sistema chama um procedimento para fechar a conexão e fazer o backup depois conecta novamente... Só não gosto de ficar acessando tabela toda hora (por causa do desempenho) mas é uma saída. Bom, como experiência própria eu fiz diferente mas não sei com é no seu ambiente onde está instalado o sistema. Acontecia q de tempos em tempos os produtos dos fabricantes sofriam reajustes nos preços e era necessário refazer o cálculo do preço de venda, custo, impostos e etc. (milhares de produtos) Neste caso não é possível fazer uma atualização dessa no meio do dia já q era um software q tb gerencia o "frente de loja" (venda de balcão). Então, no fim do dia, após o fechamento do caixa todos os computadores caiam fora do sistema e, no servidor onde tb tinha uma aplicação, era feito o backup nesta hora. Sem trauma ,pq não era feito nada além do backup e nenhuma outra estação estava utilizando o sistema. Não sei se aplica ao seu caso mas é um meio interessante. Eu usava o mesmo código de compactação para fazer o backup... at+
|
|
|