During a target-based commit session, the Integration Service commits rows based on the number of target rows and the key constraints on the target table. The commit point depends on the following factors:
Commit interval.
The number of rows you want to use as a basis for commits. Configure the target commit interval in the session properties.
Writer wait timeout.
The amount of time the writer waits before it issues a commit. Configure the writer wait timeout in the Integration Service setup.
Buffer blocks.
Blocks of memory that hold rows of data during a session. You can configure the buffer block size in the session properties, but you cannot configure the number of rows the block holds.
Number of targets.
If a session writes to multiple targets, the commit points might be different for each target.
When you run a target-based commit session, the Integration Service may issue a commit before, on, or after, the configured commit interval. The Integration Service uses the following process to issue commits:
When the Integration Service reaches a commit interval, it continues to fill the writer buffer block. When the writer buffer block fills, the Integration Service issues a commit.
If the writer buffer fills before the commit interval, the Integration Service writes to the target, but waits to issue a commit. It issues a commit when one of the following conditions is true:
The writer is idle for the amount of time specified by the Integration Service writer wait timeout option.
The Integration Service reaches the commit interval
and
fills another writer buffer.
When you choose target-based commit for a session containing an XML target, the Workflow Manager disables the On Commit session property on the Transformations view of the Mapping tab.