Error: F_JD5E12 Missing Input Encoding for Datatype during Localization of Column
Issue
The following error appears during Activate Replication, Capture, or Integrate:
F_JD5E12: Missing input encoding for datatype '<type number>' [<type name>] with CBuf string '<string>' during localization of column [<column>] of table [<table>]
Environment
- HVR 6
Resolution
To resolve this issue, you must update the missing character encoding values in the HVR catalog. For more information about valid encoding values, see Supported character encodings.
You can update the encoding values using one of the following methods:
Method 1: Manually update the encoding values in HVR UI
- Open the Table Details page for the affected table.
- Edit the affected column.
- In the Edit Column dialog, click Add Attribute.
- Select Encoding.
- Specify the character encoding value.
- Click Save.
After you update the encoding values, manually run Activate Replication with Replace all old Enrollment option selected to regenerate the enrollment files from the updated catalog.
Method 2: Run the hvrmigratemissingencoding script
The script scans the HVR catalog for character columns with missing encoding values. By default, it updates those columns using the database encoding stored in the location property Database_Char_Encoding. If the value in this property is UNKNOWN, you need to manually find out the charset from the source database and then run the script with option -e.
The hvrmigratemissingencoding script is located in the HVR installation directory.
Command syntax
hvr hvrmigratemissingencoding [-n] [-A] [-v] [-e <encoding>] [-c <channel>]... [-t <table>]... [-R <url>] hub
Options
| Option | Description |
|---|---|
-e <encoding> | Encoding name to use. If omitted, the script reads the database encoding from the channel's capture location properties. |
-c <channel> | Restricts the update to a specific channel. This option can be repeated. |
-t <table> | Restricts the update to a specific table. This option can be repeated. |
-n | Runs the script in dry-run mode. Reports what would be changed without applying updates. |
-A | Skips the post-update Activate step. Use this option if you want to run Activate manually later. |
-v | Runs the script in verbose mode and prints the list of tables and columns that will be updated. |
-R <url> | Routes the update through a running HubServer at the specified URL instead of writing directly to the repository. |
- The hvrmigratemissingencoding script assumes that every character column with a missing encoding should use the same encoding.
- Do not use the script for columns that contain data in different encodings. In that case, update the affected columns individually in the HVR UI.
Activation after catalog updates
After the catalog is updated, the script posts (API) an Activate event for each affected channel with replace_enroll=true. This is equivalent to running command hvractivate with option -oE.
This regenerates the enrollment files from the updated catalog.
The activation behavior depends on whether Hub Server is running:
- If HubServer is running, the Activate events run immediately.
- If HubServer is not running, the Activate events remain queued and run the next time HubServer starts.
Use the -A option of the hvrmigratemissingencoding script to skip this automatic Activate step and run Activate manually later.
Additional considerations for mixed-version environments
If the hub is upgraded to 6.3.5 and either of the following conditions is true: HVR Agents are running version 6.1.5/6 or older, or router files created by HVR 6.1.5/6 or older are still present, Integrate may fail with the error: F_JD5E0E: Missing input encoding for datatype during coercion of column [hvr_tx_seq] of table
To resolve this error, define the following environment variables on the target location:
HVR_COERCE_INVALID_ENCODING_CHECK_ENABLED=0 HVR_LOCALIZE_INVALID_ENCODING_CHECK_ENABLED=0
If you don't define HVR_LOCALIZE_INVALID_ENCODING_CHECK_ENABLED=0, Integrate may fail with the following error: F_JD5E12: Missing input encoding for datatype during localization of column [hvr_tx_seq] of table
Remove these definitions after all HVR components are upgraded to the same version as the HVR hub or the router files created by HVR 6.1.5/6 or older are cleared.
Cause
This error occurs when a character column in the HVR catalog does not have a character encoding defined.
Recent versions of HVR require all character columns to have an encoding so that column data can be interpreted correctly. This issue typically occurs when a channel was created in an older version of HVR that did not require an explicit character encoding for character columns.
When the channel is later opened or processed in a newer version of HVR, the missing encoding causes the error.