All Products
Search
Document Center

Data Transmission Service:How to resolve errors related to table schemas?

Last Updated:Mar 02, 2026

This topic describes how to resolve errors related to table schemas that occur when a DTS instance runs.

Destination database: MySQL

Error: Specified key was too long; max key length is 767 bytes

Possible cause: The maximum length of an index field in a table supported by the InnoDB engine of MySQL is 767 bytes.

Solution: For an instance of ApsaraDB RDS for MySQL V5.6 or 5.7, set the innodb_large_prefix parameter to ON. Then, reconfigure the task. For more information about how to modify instance parameters, see the Modify the parameters of an ApsaraDB RDS for MySQL instance section of the Modify instance parameters topic.

Error: Unknown collation: 'XXX'

Possible cause: The specified character set collation is not supported by the current MySQL version.

Solution: Manually modify the DDL statement to use a supported character set collation.

Error: Unknown database 'XXX'

Possible cause 1: The database account used for the DTS task does not have permission to create the database in the destination instance.

Solution 1: Manually create the specified database in the destination instance and then restart the task.

Possible cause 2: An object that you want to synchronize or migrate is associated with the specified database.

Solution 2: Determine whether the specified database needs to be synchronized or migrated.

  • If yes: Add the database specified in the error message as a synchronization or migration object.

  • If no: You can ignore this error.

Error: Access denied for user 'XXXX'@'%' to database 'XXXX'

Possible cause: The database account used for the DTS task does not have permission to access the specified database.

Solution:

  • Method 1: Use a database account that has sufficient permissions for the DTS task.

  • Method 2: Grant sufficient permissions to the specified account.

Error: Table ' XXX' doesn't exist

Possible cause: A dependent object does not exist when you create an object such as a VIEW.

Solution: Check whether the dependent object exists in the source database.

  • If it exists: Add the dependent object to the list of objects to be synchronized or migrated.

  • If it does not exist: Ignore the object.

Error: Unknown column 'xx.xxx' in 'field list'

Possible cause: The queried VIEW is invalid because a field no longer exists in the source table.

Solution: Determine whether you need to use this object.

  • Yes: Select this option to ignore objects.

  • If no, modify the structure of the DDL correction table and restart the task.

Error: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable).

Possible cause: Binary logging is enabled for the destination database. For instances with binary logging enabled, restrictions apply to function creation.

Solution: Determine whether you need to use this object.

  • If yes: Manually run set log_bin_trust_function_creators = 1. Then, run the DDL statement to modify the object.

  • If no: Ignore the object.

Destination database: PostgreSQL

Error: relation "XXX" does not exist

Possible cause: A dependent object of the specified object does not exist.

Solution:

  • Method 1: Reconfigure the task and add the dependent object to the list of objects for synchronization or migration.

  • Method 2: Manually migrate the dependent object to the destination database and then restart the task.

Error: type XXX does not exist

Possible cause: A custom type that a synchronization or migration object depends on does not exist.

Solution:

  • Method 1: Reconfigure the task and add the dependent custom type to the list of objects for synchronization or migration.

  • Method 2: Manually create the dependent custom type or extension in the destination database and then restart the task.

Error: permission denied to create extension "XXXX" Hint: Must be superuser or user with all of rds_superuser to create this extension.

Possible cause: The database account used for the DTS task does not have permission to create the specified extension.

Solution:

  • Method 1: Use a database account that has sufficient permissions for the DTS task.

  • Method 2: Manually create the specified extension in the destination database and then restart the task.

Destination database: AnalyticDB for MySQL

Error: XXXX=> db not found. use `show databases` to see all dbs.

Possible cause: The specified database does not exist in the destination database.

Solution: Manually create the specified database in the destination database and then restart the task.

Destination database: SQL Server

Error: Invalid column name 'XXX'

Possible cause: The schema of the table to be synchronized or migrated has changed. Some columns were deleted, which causes a VIEW, procedure (PROC), or function (FUNC) to become unavailable.

Solution:

  • Method 1: Ignore the object.

  • Method 2: Correct the DDL statement based on the error message and then restart the task.

Error: The server principal "XXX" is not able to access the database "XXX" under the current security context.

Possible cause: The database account used for the DTS task does not have sufficient permissions.

Solution:

  • Method 1: Use a database account that has sufficient permissions for the DTS task.

  • Method 2: Grant sufficient permissions to the specified account.

Error: DDL statement in a VIEW, PROC, or FUNC fails

Possible cause: A dependent object was not migrated or no longer exists.

Solution:

  • Method 1: Ignore the object.

  • Method 2: Correct the DDL statement based on the error message and then restart the task.