DADOS SUMINDO DO BANCO
Bom dia galera.
Tenho um cliente que o sistema está em fase de testes. Maaaas o cliente se queixou que os dados do cadastro de clientes que ela cadastrou, sumiu(uma coisa de 5 clientes novos que ela cadastrou, sumiu do nada, de um dia para o outro)
Mas eu levo a propria maquina deles para minha casa, coloco o projeto na maquina, compilo la, testo diversas vezes(inserçao, update, delete, mais inserçao etc) e nada acontece. Simplesmente nada, poderia ela estar deletando sem querer os registros?
Estive pensando em fazer uma tabela de lixeira, e junto a cada delete criar um arquivo txt em alguma pasta informando a tabela que foi excluido, a hora, usuario, e qual registro etc. Para ver se acho o que foi o problema.
Estou maluco, pois nao consigo receber mensalidade e as (como conhecemos na empresa onde trabalho) [Ô]coisas do capeta[Ô] nao param.
O que voces acham que eu poderia fazer para tipo, ir fechando o cerco até achar o problema? O resto do sistema esta funcionando, mas para eles usarem o resto o cadastro de clientes é o primeiro passo.
PS: Uso access 2003. Pensei na possibilidade de corromper o banco e tal, mas o sistema está em apenas UMA máquina. Na empresa onde trabalho existe um cliente que utiliza cerca de 10 maquinas e essas coisas de doido nunca aconteceram.
Me ajudem
Tenho um cliente que o sistema está em fase de testes. Maaaas o cliente se queixou que os dados do cadastro de clientes que ela cadastrou, sumiu(uma coisa de 5 clientes novos que ela cadastrou, sumiu do nada, de um dia para o outro)
Mas eu levo a propria maquina deles para minha casa, coloco o projeto na maquina, compilo la, testo diversas vezes(inserçao, update, delete, mais inserçao etc) e nada acontece. Simplesmente nada, poderia ela estar deletando sem querer os registros?
Estive pensando em fazer uma tabela de lixeira, e junto a cada delete criar um arquivo txt em alguma pasta informando a tabela que foi excluido, a hora, usuario, e qual registro etc. Para ver se acho o que foi o problema.
Estou maluco, pois nao consigo receber mensalidade e as (como conhecemos na empresa onde trabalho) [Ô]coisas do capeta[Ô] nao param.
O que voces acham que eu poderia fazer para tipo, ir fechando o cerco até achar o problema? O resto do sistema esta funcionando, mas para eles usarem o resto o cadastro de clientes é o primeiro passo.
PS: Uso access 2003. Pensei na possibilidade de corromper o banco e tal, mas o sistema está em apenas UMA máquina. Na empresa onde trabalho existe um cliente que utiliza cerca de 10 maquinas e essas coisas de doido nunca aconteceram.
Me ajudem
Faça um log em arquivo texto das operações de banco. Pode ter um espertinho que está acessando o banco de dados e apagando os dados sem o outro perceber.
Já pensou em colocar uma senha forte no banco de dados? Exemplo Vbm@n!a2011
Já pensou em colocar uma senha forte no banco de dados? Exemplo Vbm@n!a2011
Pois é, pensei na senha, deixar a pasta raiz do sistema oculta. Pois o pessoal la nao tem conhecimento para ficar operando isso só de sacanagem
Outro dia eu và um projeto onde o programador não usava UPDATE para fazer alteração de registro. Quando o usuário alterava um registro, ele usava DELETE e INSERT.
Acontecia a seguinte situação: O INSERT as vezes dava erro e cancelava o programa. Só que o DELETE já tinha apagado o registro e o INSERT não era executado, e assim sumia o registro no banco de dados. (SITUAÇÃO PARECIDA COM A TUA)
Não pode estar acontecendo algo identico no teu caso ???
Acontecia a seguinte situação: O INSERT as vezes dava erro e cancelava o programa. Só que o DELETE já tinha apagado o registro e o INSERT não era executado, e assim sumia o registro no banco de dados. (SITUAÇÃO PARECIDA COM A TUA)
Não pode estar acontecendo algo identico no teu caso ???
Citação::
Cara.
Tenta migrar para SQLSERVER.
E caso voce nao queira, tenta colocar uma outra senha no banco de dados como disse nosso colega acima.
Tambem tire todos os botões do seu projeto [Ô]EXCLUIR[Ô] ....[Ô]DELETAR[Ô] ....... em meus projetos por exemplo nao existyem esses botões, porque se o usuario tem que [Ô]desativar o cliente[Ô] e nunca excluir e assim por diante.
Isso mesmo. Se o cliente existe no sistema, com certeza outras tabelas dependem das informações desse registro.
Eu particularmente utilizo o DELETE depois oINSERT INTO porém uso o BeginTrans para não ter este problema.
Dependendo da situação eu tbm uso o DELETE e logo após o INSERT, com o BeginTrans, CommitTrans e em caso de erro o RollBackTrans. Nunca tive problemas e as vezes é até melhor usar assim, para que o controle fique mais ágil e pra não perder tempo conferindo registro por registro e atualizando com UPDATE.
Bom galera, nao é esse o caso, pois nao uso insert, update etc.
Manipulo meu dados sempre abrindo query por um recordset. Verifico se ja existe, se sim dstabela.edit, senao dstabela.addnew
E para excluir a mesma coisa...procuro o registro com sua chave primaria, se achou, recordset.delete
em alguns casos faço assim, db.execute [Ô]delete * from tabela where bla bla[Ô]
Entao este problema nao esta ocorrendo nao.
Vou tentar fechar o cerco, pois o cliente esta começando a usar o sistema agora, ou seja, esta atualizando o cadastro antigo, nem chegou a usar outras partes do sistema que depende do cadastro de clientes.
Obrigado pela opiniao de todos, continuo aguardando mais dicas para fechar o cerco. Tive uma conversa com meu avô que é presidente da entidade, e ele autorizou a simplesmente desabilitar o botao excluir, será apenas usado a opçao ativado - sim ou nao.
Manipulo meu dados sempre abrindo query por um recordset. Verifico se ja existe, se sim dstabela.edit, senao dstabela.addnew
E para excluir a mesma coisa...procuro o registro com sua chave primaria, se achou, recordset.delete
em alguns casos faço assim, db.execute [Ô]delete * from tabela where bla bla[Ô]
Entao este problema nao esta ocorrendo nao.
Vou tentar fechar o cerco, pois o cliente esta começando a usar o sistema agora, ou seja, esta atualizando o cadastro antigo, nem chegou a usar outras partes do sistema que depende do cadastro de clientes.
Obrigado pela opiniao de todos, continuo aguardando mais dicas para fechar o cerco. Tive uma conversa com meu avô que é presidente da entidade, e ele autorizou a simplesmente desabilitar o botao excluir, será apenas usado a opçao ativado - sim ou nao.
Cara, usuário é fogo hein
Eu particularmente exclui o comando DELETE dos meus sistemas, coloquei um campo Excluido no banco e quando o usuário tenta excluir, eu apenas dou um UPDATE excluido = [ô]1[ô];
Eu particularmente exclui o comando DELETE dos meus sistemas, coloquei um campo Excluido no banco e quando o usuário tenta excluir, eu apenas dou um UPDATE excluido = [ô]1[ô];
Tem uma técnica que é a seguinte: Voce nunca usa UPDATE e nem INSERT no banco,,,, por exemplo um cliente que não existe mais,,, voce apenas define ele como Inativo,,,, outra coisa se for preciso alterar algum dado no cadastro do cliente voce simplesmente não usa o UPDATE e sim INSERT, isso mesmo voce insere novamente o mesmo cliente só que com os dados novos e mantem o registro antigo no banco, assim nas operações do sistema como relatorios, ou ate mesmo uma tela de venda por exemplo o sistema sempre vai trazer o ultimo registro referente a esse cliente (que é o mais atual)...com isso voce sempre vai ter um historico completo de seu cliente.... por exemplo daqui a 2 anos voce vai saber quantas vezes o cliente mudou de telefone ou endereço por exemplo,,,, isso é uma das tecnias que existe em relação a cadastros e que pode resolver o problema de exlcusão.... em relação ao banco deixe ele sempre protegido com senha para que ninguem possa entrar direto nele e apagar os registros na mão....
ate mais e abs
ate mais e abs
Tópico encerrado , respostas não são mais permitidas