The Replication Server DSI does not use bulk copy-in when:
Autocorrection is on and the data is not part of subscription materialization.
rs_insert has a user-defined function string.
text column has a user-defined
function string for rs_writetext with
output none
or rpc
.
The data row contains opaque datatype or a user-defined datatype (UDD) that has an rs_datatype.canonic_type value of 255.
The data row contains an image or a Java datatype.
The bulk copy-in feature is not supported under the conditions listed below. In these instances, disable bulk copy-in.
The replicate database is not Adaptive Server. In this case, if the DSI bulk copy-in is enabled, DSI terminates with an error message.
The data size changes between Replication Server and the replicate Adaptive Server character sets, and the datarow contains text columns. In this case, if the DSI bulk copy-in is enabled, DSI terminates with this message:
Bulk-Lib routine 'blk_textxfer' failed. Open Client Client-Library error: Error: 16843015, Severity 1 -- 'blk_textxfer(): blk layer: user error: The given buffer of xxx bytes exceeds the total length of the value to be transferred.'
The owner.tablename length is larger than 255 bytes and the replicate database is earlier than version 15.0.3 Interim Release. If the DSI bulk copy-in is enabled, Replication Server terminates with this message:
Bulk-Lib routine 'blk_init' failed.
To specify not to use bulk copy-in when owner.tablename length is larger than 255 bytes:
Turn trace on:
trace "on", rsfeature, ase_cr543639
Add this to the Replication Server configuration file:
trace=rsfeature,ase_cr543639
Other limitations:
Unlike the insert command, bulk copy-in does not generate timestamps; NULL values are inserted to the timestamp column if the timestamp column is not included in the replication. Either disable bulk copy-in, or set up your replication definition to include the timestamp column.
Text and image columns are always logged, even if you change the writetext function string to no log.
Bulk copy does not invoke insert trigger in Adaptive Server.
The configuration parameter send_timestamp_to_standby has no effect on bulk copy-in. timestamp data is always replicated to standby.