Database Event Alerter For MS SQL
The event notification mechanism includes server and client components. An event can be posted by using theserver component. The server component broadcasts event messages to interested client applications.
An application can get messages using a client component. This component is the Sql_messenger ActiveX control. The control allows client application to receive messages for specific event. You can easy build much more sophisticated applications or services using these components. Now, in awaiting some critical data or events an application does not need to query Database Server repeatedly. The SQL Server will notify an application when the data came or event happened.
Add your new Extended Stored Procedure from a Visual Studio Data Project, or using the SQL Server Enterprise Manager, or by executing the following SQL command:
[, [@host = ] '*' ]
[, [@dest = ] 'event1;[event2;[event3;...[eventN]]]' ]
- The message string. The maximum string length is 300 characters.
- The destination. Host Name, Host IP, Workgroup Name, Domain Name or '*' can be used as the destination. Use '*' to send a message to all domain/workgroup computers.
- The Slot Name. Default value is 'events'.
You may release the DLL from the Server (to delete or replace the file), by using the SQL command:
2. Install the Sql_messenger ActiveX Control to a client workstation. Copy the 'Client' folder from the xp_messenger.zip to the workstation. Run the setup.msi, and follow the instructions.
3. Run the VFP. Open the 'test_form.scx' form from the 'Client\VFP_Sample' folder, and run it.
Then click on the 'Start' button.
4. Open the Query Analyser. Then execute this command:
A Message Box with 'Test message' will popup on the client workstation.
A. The xp_messenger.dll is an extended stored procedure for the MS SQL Server.
Q. What is the purpose of the sql_messenger.dll?
A. The sql_messenger.dll is an ActiveX control. The control receives messages from the extended stored procedure, and calls the OnData() method for each message.
Q. If I want to receive messages from xp_messenger, do I have to establish a connection with the MS SQL Server?
A. No, you don't need to establish connection with the MS SQL Server.
Q. What mechanism is used by the extended stored procedure to send messages?
A. Windows mailslots are used to deliver the messages.
Q. Why do I receive each message twice?
A. It happens when the server or workstation has two NICs.
Q. If I have a router between the MS SQL Server and a workstation, can I send messages to the workstation?
A. If you have a router between MS SQL Server and workstation, you only cannot broadcast messages. Xp_messenger sends a broadcast message when @dest='*'. If @dest parameter has a workstation name or its IP address, the workstation will be able to receive messages from the extended stored procedure.
Q. Can you tell me more about licenses?
A. We have several types of licenses.
- Standard: The xp_messenger.dll may be installed on one copy of the MS SQL Server.
- Developer: We will provide you with two licenses. One license is a standard license for your developer MS SQL Server. The second one is a distribution license. It permits distribution of xp_messenger.dll with products developed in your company. You may only use the distribution license outside of your company.
- Pro: 20 standard licenses.
Q. Can I get a personal license?
A. We plan to add a Personal license in 2010.