Database Event Alerter For MS SQL
Version: 4.1
Requirements: MS SQL Server
File Size: 223 KB
License: Free to Try
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.
Copy the xp_messenger.dll over to your SQL Server \Binn directory.
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:
sp_addextendedproc 'xp_messenger', 'xp_messenger.dll'
exec master.dbo.xp_messenger @message = 'message'
[, [@host = ] '*' ]
[, [@dest = ] 'event1;[event2;[event3;...[eventN]]]' ]
Where:
@message
- The message string. The maximum string length is 300 characters.
@host
- 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.
@dest
- The Slot Name. Default value is 'events'.
You may drop the extended stored procedure by using the SQL command:
sp_dropextendedproc 'xp_messenger'
You may release the DLL from the Server (to delete or replace the file),
by using the SQL command:
1. Install xp_messenger onto the SQL Server. Copy the xp_messenger.dll over to
your SQL Server \Binn directory, and run the following command:
exec sp_addextendedproc 'xp_messenger', 'xp_messenger.dll'
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:
exec master.dbo.xp_messenger 'Test message', 'IP address or Name of the client Workstation'
A Message Box with 'Test message' will popup on the client workstation.
Q. What is the purpose of the xp_messenger.dll?
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.