Quoted Identifier Replication at the Table Level

You can configure table-level dsi_quoted_identifier for an object to instruct Replication Server to replicate quoted objects correctly.

Suppose you perform table replication on a connection, where the connection-level dsi_quoted_identifier is on and subsequently you set up database replication on the same connection to replicate tables with quoted identifiers. This requires the connection-level dsi_quoted_identifier to be set to always. The existing table replication may fail because the table name and column names are all quoted. To make sure that the existing table replication is successful, set table-level dsi_quoted_identifier to on for the table.

The table-level dsi_quoted_identifier setting takes precedence over any existing connection-level dsi_quoted_identifier setting and the connection-level setting takes precedence over the server-level dsi_quoted_identifier setting.

If there are quoted identifiers in a primary table, to ensure replication proceeds correctly, you must create a table replication definition with the quoted clause and also set the connection-level dsi_quoted_identifier to on.

For example, to ensure replication proceeds even if the primary table “test quote” has quoted identifiers, create a table replication definition repdef1 with the quoted clause and set the connection-level dsi_quoted_identifier to on.
create table "test quote" ("col1%##@" int, col2 char(10), primary key("col1%##@"))
go

create replication definition repdef1 
...
with all tables named "test quote" quoted 
("col1%##@" int quoted, col2 char(10)) 
primary key("col1%##@")

alter connection to LON_DS.rdb 
set dsi_quoted_identifier to 'on'
If there are quoted identifiers in a primary table and if you use create subscription with the init replicate table option for a table replication definition, you must set dsi_quoted_identifer to always and make sure that:
For example, to ensure replication proceeds even if the primary table “test quote” has quoted identifiers, create a table replication definition repdef1 with the quoted clause for all objects (tables and columns) and set dsi_quoted_identifier to always.
create table "test quote" ("col1%##@" int, col2 char(10), primary key("col1%##@"))
go

create replication definition repdef1 
...
with all tables named "test quote" quoted 
("col1%##@" int quoted, col2 char(10) quoted) 
primary key('col1%##@")

alter connection to LON_DS.rdb
set dsi_quoted_identifier to 'always'
See: