Document Type | Troubleshooting
Category | Interface/Integration
Applicable Product Versions | 6FS01, 6FS02, 6FS03, 6FS04, 6FS05, 6FS06, 6FS07, 6FS07PS, 7FS01, 7FS02, 7FS02PS
Document Number | TIITS001
Issue
When performing PSM through DB Link, a compile TBR-8164 error occurs.
Compile Error Occurrence
SQL> show error;
Errors for Procedure MTCFP.SP_SDR_WORK_OPERATION:
ERROR DESCRIPTION
--------------------------------------------------------------------------------
TBR-8164: Unable to convert data due to character set mismatch.
at line 60, column 13 of null:
select b.site_code site_id, b.worder, b.wchasu,
^
1 row selected.The following error messages appear in sys.log and gateway log
[10-06T16:52:20.959921] [FRM-378] [I] THROW. ec=ERROR_DML_DIFF_CHARSET_NOT_PERMITTED(-8164) [ Unable to convert data due to character set mismatch.] (csr_id:4294967295) [dml_dblink.c:282:dml_dblink_make_lp_column]
Cause
When there is a character set (CHARSET) difference between Tibero and Gateway, this difference can cause DML statements to fail. In this case, queries affected by the CHARSET will not execute and an error is returned.
Solutions
By enabling the _ALLOW_DIFF_CHARSET_INSTANCE=Y parameter, queries can be executed normally even if there is a CHARSET difference, preventing related errors.
Dynamically Applying the Parameter
SQL> ALTER SYSTEM SET _ALLOW_DIFF_CHARSET_INSTANCE = โY';
System altered.
SQL> select name, value, dflt_value, is_dynamic
from vt_parameter
where name in(' _ALLOW_DIFF_CHARSET_INSTANCE ');
NAME VALUE DFLT_VALUE IS_DYNAMIC
------------------------------- ---------- ---------- -----------
_ALLOW_DIFF_CHARSET_INSTANCE YES NO 1
Permanent Application in TIP File
]$ vi $TB_HOME/config/$TB_SID.tip _ALLOW_DIFF_CHARSET_INSTANCE=Y
NoteWhen allowing DB Link between different encodings, the string itself may appear corrupted due to encoding differences.