2010-04-21 3 views

답변

3

응용 프로그램과 데이터베이스 서버가 동일한 컴퓨터에있는 경우 MySQL에서 트리거를 설정하여 AFTER INSERT, UPDATE 로그 파일에 기록한 다음 해당 로그 파일을보기 위해 FileSystemWatcher을 생성 할 수 있습니다. FileSystemWatcher는 응용 프로그램이 반응 할 수있는 fire events when the file is changed입니다. 나는 위의 코드를 참조

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

하나의 문제는 OUTFILE는 (최고의 내가 말할 수있는)에 추가 할 수 없다는 것입니다 그래서 복수가있는 경우 문제가있을 수 있습니다

트리거는 다음과 같이 보일 수 있습니다 하나의 호출에서 실행 된 쿼리 (또는 다른 클라이언트가 동시에 실행하는 여러 쿼리). 개선을위한 제안은 언제나 환영합니다.

+1

감사합니다. 불행하게도 FileSystemWatcher를 사용하기 위해 C# app가 동일한 컴퓨터에서 실행되지 않거나 로그 디렉토리에 액세스하지 못할 수 있습니다. – Brian

0

아마도 /삭제 행의

  1. UID가 변경 삽입/업데이트의
  2. 유형 변경 .. 두 개의 열이있는 새 테이블에 행을 기록 테이블에 트리거를 삽입, 업데이트를 추가 삭제

이 테이블에 액세스하면 삽입, 업데이트, 삭제 된 행을 구체적으로 알려줍니다.

관련 문제