Limitations for Bulk Copy-in

There are several limitations to be aware of when you use bulk copy-in.

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 bulk copy-in feature is not supported under the conditions listed below. In these instances, disable bulk copy-in.
  • The replicate database does not support bulk copy-in. In this case, if the DSI bulk copy-in is enabled, DSI terminates with an error message. See Replication Server Heterogeneous Replication Guide.

  • 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:
    1. Turn trace on:
      trace "on", rsfeature, ase_cr543639
    2. 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.