Có thể giám sát bảng mysql để thay đổi trong ứng dụng C# không? Về cơ bản tôi muốn một sự kiện được nâng lên khi dữ liệu được chèn vào bảng. Điều duy nhất tôi có thể nghĩ đến bây giờ là truy vấn bảng mỗi 100ms hoặc lâu hơn.Theo dõi bảng MySQL để biết các thay đổi trong chương trình C#?
Trả lời
Nếu cả ứng dụng và máy chủ cơ sở dữ liệu đều trên cùng một máy, bạn có thể thiết lập trình kích hoạt trong MySQL ghi vào tệp nhật ký SAU CH INSN, CẬP NHẬT và sau đó tạo FileSystemWatcher để xem tệp nhật ký đó. FileSystemWatcher sẽ fire events when the file is changed mà ứng dụng của bạn có thể phản ứng.
Trigger có thể trông như thế này:
create trigger MyTable_Monitor
after insert, update on MyTable
for each row
begin
select * from new into outfile "path/to/table.log"
end
Một vấn đề tôi thấy với các mã trên là outfile không thể được nối vào (tốt nhất tôi có thể nói), do đó bạn có thể có vấn đề nếu có nhiều các truy vấn được thực hiện trong một cuộc gọi (hoặc thậm chí nhiều truy vấn được thực hiện đồng thời bởi các máy khách khác nhau). Bất kỳ đề xuất cải tiến đều được hoan nghênh.
Có lẽ thêm Insert, Update, Delete trigger để bảng để đăng nhập hàng trong một bảng mới với hai cột ..
- uid của hàng thay đổi
- loại thay đổi insert/update/delete
Sau đó, bạn truy cập bảng này và nó cho bạn biết cụ thể những hàng nào đã được chèn, cập nhật, đã xóa.
- 1. Theo dõi các thay đổi trong Active Directory bằng C#
- 2. Làm cách nào để theo dõi các thay đổi nội dung của clipboard trong C#?
- 3. Theo dõi thay đổi trong thuộc tính
- 4. thay đổi theo dõi trong biểu mẫu chiến thắng C#
- 5. Theo dõi mạng theo quy trình trong Obj-C?
- 6. Theo dõi thay đổi: svn + latex
- 7. Thay đổi hình ảnh theo chương trình?
- 8. Theo dõi thay đổi trong Visual Studio
- 9. Bảng theo dõi kiểu theo dõi của Twitter trong SQL
- 10. Theo dõi các thay đổi về mã theo thời gian
- 11. Theo dõi thay đổi API công cộng của C++ lib
- 12. Chuyển đổi các đoạn theo chương trình
- 13. thay đổi miền địa phương theo chương trình
- 14. cách thay đổi kiểu phông chữ theo chương trình trong mục tiêu-c
- 15. theo dõi các thay đổi trong (các) tệp trong thời gian thực
- 16. VS2005 C# Thay đổi chuỗi kết nối theo chương trình có trong app.config
- 17. Thay đổi kích thước hình ảnh theo chương trình trong C#
- 18. UISegmentedControl thay đổi số phân đoạn theo chương trình
- 19. Biến theo dõi hoặc thay đổi bộ nhớ trong Xcode?
- 20. Làm cách nào để theo dõi thư mục Windows để thay đổi?
- 21. Làm cách nào để kiểm tra các thay đổi trong bảng MySQL (sử dụng MySQL 4)?
- 22. Chuyển đổi hộp kiểm theo chương trình
- 23. Thay đổi bố cục tương đối theo chương trình
- 24. Thay đổi Công cụ Bảng trong MySQL
- 25. Làm cách nào để thay đổi trình bảo vệ màn hình theo chương trình?
- 26. Trình theo dõi tiến trình theo dõi lưu lượng video?
- 27. Sử dụng Delphi để theo dõi các thay đổi được thực hiện cho thư mục?
- 28. Android: thay đổi chương trình nhãn ứng dụng theo chương trình?
- 29. Làm thế nào để theo dõi quá trình daemon C++?
- 30. Có phương pháp/hệ thống/chương trình nào để theo dõi các giai đoạn và thay đổi khác nhau trong việc viết mã cho một dự án không?
Cảm ơn. Rất tiếc, ứng dụng C# có thể không chạy trên cùng một máy hoặc có quyền truy cập vào thư mục nhật ký để sử dụng FileSystemWatcher – Brian