The replication task replicates source objects and fields to target database tables and columns, respectively. In certain cases, the replication task does not give the target table and column names the same names as the source objects and fields.
The replication task might not give the same names in the following circumstances:
• You write replicated data to a database target and use a table name prefix.
A table name prefix prevents you from overwriting database tables when you share a database account.
• You replicate case-sensitive data.
When the replication task replicates data to a target database, it creates all table and column names in uppercase. If the target database is case sensitive, use uppercase table and column names when you query the database.
• You replicate objects with long object and field names.
When a source object or field name contains more characters than the maximum allowed for the name in the target, the replication task truncates the table or column name in the target database.
Table name truncation
When you replicate a source object to a database, the replication task replicates the data to a database table with the same name as the source object.
If you replicate data to a database target and the length of the source object name exceeds the maximum number of characters allowed for the target table name, the replication task truncates the table name in the target database. It truncates the table name to the first X characters, where X is the maximum number of characters allowed for a table name in the target database.
Duplicate tables names from same replication task
If you replicate multiple source objects from the same replication task to the same database user account and truncation causes duplicate table names, the replication task replaces the last character of the duplicate table names with sequential numbers.
For example, the replication task contains the following Salesforce source objects:
Duplicate table names from different replication tasks
If you replicate multiple source objects with the same names from different replication tasks to the same database user account, the replication task creates one target table, and overwrites the table data each time you replicate one of the objects. If you run a full load, it overwrites the entire table. If you run an incremental load, it overwrites the changed rows.
To avoid overwriting tables, use a different target table name prefix for each replication task.
Column name truncation
If the length of the source field name exceeds the maximum number of characters allowed for a column name in a relational target, the replication task truncates the column name in the target database. It truncates the column name to the first X characters, where X is the maximum number of characters allowed for a column name in the target database.
For example, the replication task creates a column name in an Oracle database based on the following 40-character field name of a Salesforce object:
TenLetters1234567890TenLettersXXXXXXXXXX
The replication task truncates the column name to the first 30 characters:
TenLetters1234567890TenLetters
If the truncation causes duplicate column names for the target table, the replication task replaces the last character of the duplicate column names with sequential numbers. The replication task also replaces the last character of duplicate table names from the same task.