Dear All,
I am working in Oracle Forms and Reports 11g with db 12c.
I have a password (varchar2 column) which stores the result of DBMS_OBFUSCATION_TOOLKIT.MD5(<my param>).
We have two different environment with different NLS Params. On one environment the form showing the password (in encrypted is working fine) whereas in another environment it throws ORA 29275 - Partial Multi-byte Character.
Here is the NLS_Parameter settings for the non-working environment
PARAMETER | VALUE |
NLS_LANGUAGE | AMERICAN |
NLS_TERRITORY | AMERICA |
NLS_CURRENCY | $ |
NLS_ISO_CURRENCY | AMERICA |
NLS_NUMERIC_CHARACTERS | ., |
NLS_CALENDAR | GREGORIAN |
NLS_DATE_FORMAT | DD-MON-RR |
NLS_DATE_LANGUAGE | AMERICAN |
NLS_CHARACTERSET | AL32UTF8 |
NLS_SORT | BINARY |
NLS_TIME_FORMAT | HH.MI.SSXFF AM |
NLS_TIMESTAMP_FORMAT | DD-MON-RR HH.MI.SSXFF AM |
NLS_TIME_TZ_FORMAT | HH.MI.SSXFF AM TZR |
NLS_TIMESTAMP_TZ_FORMAT | DD-MON-RR HH.MI.SSXFF AM TZR |
NLS_DUAL_CURRENCY | $ |
NLS_NCHAR_CHARACTERSET | AL16UTF16 |
NLS_COMP | BINARY |
NLS_LENGTH_SEMANTICS | BYTE |
NLS_NCHAR_CONV_EXCP | FALSE |
I guessed the problem with NLS_CHARACTERSET and I made a work-around in my form(POST-QUERY) as below,
CONVERT(<char>, <dest_char_set>, <source_char_set>)
but nothing works.
Also the below query fails
select CASE
INSTR (
RAWTOHEX (
utl_raw.cast_to_raw (
utl_i18n.raw_to_char (
utl_raw.cast_to_raw ( <your_column> )
, 'utf8'
)
)
)
, 'EFBFBD'
)
WHEN 0 THEN 'OK'
ELSE 'FAIL'
END
from <your_table>
;
Have anyone faced this issue before?
Your valuable suggestions greatly appreciated.
Thanks in Advance.
Regards,
Soofi