Pergunta

Como posso controlar ou ser notificado sempre que um registro é inserido ou atualizado em um banco de dados? Eu gostaria de notificar uma aplicação externa das mudanças quase em tempo real sempre que ocorrem tais mudanças no DB. Há DBMS de linguagem de programação e aplicação independentes maneiras independentes de fazer isso? Se não, então é possível com o MS Access e MS SQL Server em particular? Eu estou olhando para evitar polling contínuo de DB é claro.

Foi útil?

Solução

Com o SQL Server, é possível carregar uma DLL dentro do próprio SQL Server e métodos de chamada a partir deste com procedimentos armazenados estendidos. O DLL poderia, então, notificar outros aplicativos -. Geralmente através de um soquete TCP

Outras dicas

Eu acho que a última versão do Microsoft SQL Server permite que você elevar eventos em seu código .NET com base nas condições de servidores e eventos. Eu ainda não tentei, e eu não ouvi falar de nenhum 'DBMS independente' maneira de fazer isso (sem polling DB a cada X milissegundos).

Com o MS-Access, I manter o controle de alterações de registro ou adições registro com campos na tabela principal que armazenar o nome de usuário ea data em que o registro é criado ou atualizado.

Você precisa usar a API do Windows para gravar o nome de usuário, geralmente executado quando formulário menu de controle é aberta.

Eu estou cavando para encontrar uma fora para acompanhar as mudanças específicas. Minha base de dados é usado para gerenciamento de projetos. Gostaria de acompanhar o que especificamente foi mudado, não apenas quem e quando que eu tenho agora.

Eu penso que este cumpre os requisitos da pergunta original. Mais tarde, pode adicionar o API do Windows que lê o nome do usuário.

Private Sub Form_BeforeInsert (Cancel As Integer) Me! UserCreated = UCase (CurrentUser ()) Me! DateCreated = Now () End Sub

Private Sub Form_BeforeUpdate (Cancel As Integer) Me! DateModified = Now () Me! UserModified = UCase (CurrentUser ()) End Sub

- Mike

Para fazer isso com o SQL Server, você usa o Serviço de Notificação -. Escrever uma dll que se inscreve para notificações da DB para atualizações de dados que você pode processar de alguma maneira

No entanto, MS disse que eles são removendo este a partir do SQL Server 2008 .

A Oracle tem algo semelhante (embora eles tendem a deixar a sua tecnologia no lugar), mas eu não vi nada que é banco de dados neutro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top