Database Event Alerter For Oracle
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.
Check listener.ora file. Add:
If it doesn't exist. Register the DLL in Oracle:
Add your new function by executing the following SQL command:
message in char
, host in char
, dest in char
, host string
, dest string
res := xp_messenger('message','host','dest');
- 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'. Multiple Slot Names now supported. Use: 'ev1;ev2;...evN'
A. The ora_messenger.dll is a User-Defined Function (UDF) for the Oracle Database 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 UDF, and calls the OnData() method for each message.
Q. If I want to receive messages from ora_messenger.dll, do I have to establish a connection with the Oracle Database Server?
A. No, you don't need to establish connection with the Oracle Database Server.
Q. What mechanism is used by the UDF 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 Oracle Database Server and a workstation, can I send messages to the workstation?
A. If you have a router between the Oracle Database Server and workstation, you only cannot broadcast messages. Ora_messenger.dll 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 ora_messenger.dll may be installed on one copy of the Oracle Database Server.
- Developer: We will provide you with two licenses. One license is a standard license for your developer Oracle Database Server. The second one is a distribution license. It permits distribution of ora_messenger.dll with products developed in your company. You may only use the distribution license outside of your company.
- Pro: 20 standard licenses.