2011-10-20 16 views
5

delphi 7 và mssql 2008 là những yêu cầu tôi không thể thay đổi cho một dự án mới mà tôi bắt đầu làm việc và nếu có thể tôi muốn nhận thông báo/sự kiện nếu thay đổi dữ liệu trên máy chủ để tôi không phải thăm dò ý kiến câu hỏi là:Làm thế nào để sử dụng SQLServer Dịch vụ môi giới/SQLNotifications với Delphi7?

là có thể sử dụng nhà môi giới SQLService với D7 hoặc có điều gì đó tương tự (đọc/suy nghĩ về nhiễu xuyên âm và ado.net nhưng hỗ trợ chỉ bắt đầu ở D2007)?

Cập nhật: Chỉ cần để được hoàn toàn rõ ràng, tôi muốn có thể để có được một sự kiện nếu dữ liệu thay đổi trong bảng nhất định và không nếu một thay đổi bảng/cơ sở dữ liệu (ví dụ chèn/cập nhật trên bảng cụ thể.).

Trả lời

4

Có, có thể sử dụng delphi để truy cập vào thông báo và Sự kiện được tiếp xúc bởi Nhà môi giới dịch vụ MSSQL. Để thực hiện điều này, bạn có thể sử dụng WMI Provider for Server Events để hiển thị một loạt các sự kiện và lớp học WMi rất phong phú. Nếu bạn chưa quen với WMI, tôi khuyên bạn nên đọc những bài viết này Accesing the WMI from Object Pascal CodeDelphi and WMI Events cũng có thể sử dụng WMI Delphi Code Creator để tạo đoạn mã Delphi để truy cập vào các sự kiện của MSSQL Service Broker.

+0

thx, sẽ thử vào ngày mai khi tôi quay lại văn phòng – pastacool

+0

nó khá là một chút để tiêu hóa – pastacool

+0

hi, sau khi đọc càng nhiều càng tốt, và từ những gì tôi hiểu bây giờ, có vẻ như với nhà cung cấp WMI bạn không thể nhận được ngay cả khi thay đổi dữ liệu trên một bảng cụ thể (ví dụ: cập nhật tab1 set mod_date = getdate() trong đó id = 1) nhưng chỉ khi bảng thay đổi (ví dụ: thay đổi tab1 thêm newcol int). – pastacool

Các vấn đề liên quan