08-14-2017 02:04 PM - edited 08-14-2017 02:07 PM
Hello. I need to insert some data from XML into Oracle. I extract tables from XML using xmlmap. Both XML and XMLMAP have 'UTF-8' encoding. When I select some string columns from created tables I get normal cyrillic symbols, such as 'тестовая строка'. But when I insert them into Oracle tables, these letters turn into '���������� ������'. When I try to select these Oracle tables in proc sql statement, I get '???????? ??????'. Do you have any suggestions, what's the problem.
proc sql; select * from XMLLIB.Table_Name; /*Checking string data, getting 'тестовая строка'*/ insert into ORALIB.Table_Name select * from XMLLIB.Talbe_Name; /*Insert data into Oracle Talbe, returns '�������� ������'*/ select * from ORACLE.Table_Name; /*returns '???????? ??????'*/ quit;
Once again: both &CUR_XML and &CUR_MAP have 'UTF-8' encoding. Thanks in advance.
08-16-2017 01:29 AM
I suspect that the UTF-8 chain must not be broken for this to work.
- SAS may have to run in UTF8 mode, though since you don't use SAS storage you may be able to get away with this. Maybe.
- The Oracle database should be set to use the UTF-8 character set
- The intermediate layers (ODBC driver or SQL*Net?, SAS/Access) must also support UTF-8.
Your characters may get jumbled at any of these stages.
Need further help from the community? Please ask a new question.