2010-04-21 47 views

Respuesta

3

Si la aplicación y el servidor de base de datos están en la misma máquina, puede configurar un desencadenador en MySQL que escriba en un archivo de registro DESPUÉS DE INSERTAR, ACTUALIZAR y crear un FileSystemWatcher para ver ese archivo de registro. FileSystemWatcher será fire events when the file is changed que su aplicación puede reaccionar.

El detonante podría ser algo como esto:

create trigger MyTable_Monitor 
after insert, update on MyTable 
for each row 
begin 
select * from new into outfile "path/to/table.log" 
end 

Un problema que veo con el código anterior es que el archivo de salida no puede ser añadido a (mejor que puedo decir) lo que podría tener problemas si hay múltiples consultas ejecutadas en una llamada (o incluso consultas múltiples ejecutadas simultáneamente por diferentes clientes). Cualquier sugerencia de mejora es bienvenida.

+1

Gracias. desafortunadamente la aplicación C# puede no estar ejecutándose en la misma máquina o tener acceso al directorio de registro para usar un FileSystemWatcher – Brian

0

quizás añadir Insertar, actualizar, eliminar los factores desencadenantes de la tabla para registrar una nueva fila en la tabla con dos columnas ..

  1. fluido de la fila cambió
  2. tipo de cambio insertar/actualizar/borrar

Luego accede a esta tabla y le indica específicamente qué filas se insertaron, actualizaron y eliminaron.

Cuestiones relacionadas