The Oracle Database adapter enables client programs to receive messages from the Oracle database informing them of changes to data stored in an Oracle database. The Oracle Database adapter supports receiving "polling-based" messages wherein the adapter executes a specified SELECT query, retrieves the data, and provides the result to the client at regular intervals of time. To enable this, the Oracle Database adapter exposes a POLLINGSTMT operation.
A typical polling operation using the Oracle Database adapter involves the following:
-
The adapter clients must specify a polling query, an Oracle SELECT query, for the PollingStatement binding property.
-
If the Visual Studio project will contain more than one polling queries, you must specify a polling ID as part of the connection URI. The polling ID could be any string and is appended to the standard namespace of the POLLINGSTMT operation to prevent namespace collisions.
-
The adapter clients generate the schema for the POLLINGSTMT "inbound" operation.
-
The adapter clients can specify a post-poll statement, an Oracle PL/SQL block, for the PostPollStatement binding property.
-
The adapter clients must specify a transacted polling interval for the PollingInterval binding property.
The adapter wraps the polling statement and the post-poll statement in a transaction and the transaction timeout value is set as the value specified for the PollingInterval binding property. Therefore, it is critical to specify a timeout value that is greater than or equal to the time required to process the incoming message and send a reply. If the time taken by the client program to consume the message or execute the post-poll query is more than the timeout value, the transaction is rolled back. If the time taken is less than the timeout value, the adapter commits the transaction and "sleeps" for the remaining time in the poll before performing the next poll.
The data returned by the polling query is strongly-typed. Also, the adapter suppresses any empty polling responses coming from the Oracle database.
For more information about:
-
How the adapter supports receiving polling-based messages from Oracle database, see Receiving Polling-based Data-changed Messages.
-
Receiving polling-based messages from Oracle database using BizTalk Server, see Receiving Polling-based Data-changed Messages from Oracle by Using BizTalk Server.
-
Receiving polling-based messages from Oracle database using WCF service model, see Receiving Polling-based Data-changed Messages by Using the WCF Service Model.
-
Receiving polling-based messages from Oracle database using WCF channel model, see Receiving Polling-based Data-changed Messages by Using the WCF Channel Model.
-
Message structure and SOAP actions for performing a polling query, see Message Schemas for the POLLINGSTMT Operation.