Expected datatype translations do not occur

The most common reason for a datatype translation failure is an incomplete installation of the necessary user-defined datatypes (UDDs) and translations. You can use the following procedure to validate your UDD and translation installation.

StepsTo validate UDD and translation installation

  1. Reboot the Replication Servers. Replication Server caches all function-string information at start-up.

    Subsequent changes to the function strings stored in the RSSD do not take effect until the Replication Server is restarted.

  2. Verify that UDDs have been defined.

    The Replication Server script hds_xxx_udds.sql provides the SQL statements necessary to apply UDDs to the RSSD for specific non-Sybase replicate databases.

    For each datatype, the script issues a delete followed by an insert. You can re-run these scripts without failure.

    These scripts must be executed at each Replication Server where:

    Verify that your copy of the scripts has been updated with the correct use statement for the database name of the RSSD.

  3. Verify that class-level translations have been applied to the replicate Replication Server.

    The Replication Server script hds_clt_from_to_xxx.sql provides the SQL statements necessary to apply class-level translations to the RSSD of the replicate Replication Server for a specific combination of non-Sybase primary databases to non-Sybase replicate databases.

    NoteThe hds_clt_ase_to_xxx.sql script is required for any non-Sybase replicate database. For example, if you are replicating from Informix to Oracle, the hds_clt_ase_to_oracle.sql translations must be applied to ensure Replication Server updates to the rs_lastcommit table are properly translated and applied to the replicate database.

    You can re-run these scripts without failure. Verify that your copy of the scripts has been updated with the correct use statement for the database name of the RSSD.

    NoteClass-level translations adversely affect performance. Do not install translations that are not required for your replication system.

  4. Verify that your replicate database Replication Server connection is associated with the appropriate function-string class.

    To take advantage of class-level translations, the replicate Replication Server connection must use the correct non-Sybase function-string class.

    You can use the Replication Server rs_helpdb command to determine which function-string class is defined for a database connection.

    Function-string classes for replicate databases are:

    You can use the Replication Server admin show_function_classes command to display a list of active function-string classes.

    You can use the Replication Server alter connection command to change the function-string class of an existing database connection.

  5. Verify that the non-Sybase function-string classes have been updated with appropriate function strings.

    Replication Server script hds_xxx_funcstrings.sql provides the SQL statements necessary to apply function strings to the RSSD of the replicate Replication Server for a specific non-Sybase replicate database.

    For each function string, the scripts issue a delete followed by an insert. You can re-run these scripts without failure.

    Verify that your copy of the scripts has been updated with the correct use statement for the database name of the RSSD.

  6. Use the Replication Server admin translate command.

    The admin translate command allows you to verify the results of a specific translation. Use this command to verify that the translation engine is providing the translation results you expect.

    For more information on heterogeneous datatype support (HDS) and the admin translate command, refer to the Replication Server Administration Guide.