Desktop productivity for business analysts and programmers

Getting the partial multibyte character while running the proc sql code in SAS EG

Reply
Contributor ykk
Contributor
Posts: 24

Getting the partial multibyte character while running the proc sql code in SAS EG

We are getting the below Error while running the PROC SQL code using the Library which was connected to the Oracle

ERROR: Error fetching from cursor. ORACLE error is ORA-29275: partial multibyte character.

Can you please suggest

Respected Advisor
Posts: 3,065

Re: Getting the partial multibyte character while running the proc sql code in SAS EG

Please provide your SQL code as well.

Contributor ykk
Contributor
Posts: 24

Re: Getting the partial multibyte character while running the proc sql code in SAS EG

Below is the PROC SQL Code

PROC SQL;

CREATE TABLE GRIDWORK.VSOE_DATA

AS

SELECT * FROM FVEPROD.VSOE_FVC_DEAL_LINE_DTLS_VW;

RUN;

FVEPROD is the Libname which points to Oracle Database.

Respected Advisor
Posts: 3,065

Re: Getting the partial multibyte character while running the proc sql code in SAS EG

I googled your problem and it appears to be caused when the Oracle server language settings do not match SAS's. I would try to find out from your Oracle DBA what the NLS settings are and then compare them with SAS's.

https://community.oracle.com/message/10762725

Respected Advisor
Posts: 3,837

Re: Getting the partial multibyte character while running the proc sql code in SAS EG

As points out the issue is very likely caused by different encodings. There are a few libname options like DBSERVER_MAX_BYTES which eventually could allow you to retrieve data from Oracle in such a situation without getting an error (not sure, you have to try). SAS/ACCESS(R) 9.4 for Relational Databases: Reference, Sixth Edition

....but even if this should work it won't resolve the issue of different encodings and if Oracle is multibyte but SAS is single byte then there are simply characters which can't get properly represented. If your actual data are only English letters and the like then things could still work for you - but you'll never have a guarantee.

The only actual solution is to run SAS and Oracle in an encoding which is compatible.

Ask a Question
Discussion stats
  • 4 replies
  • 1450 views
  • 0 likes
  • 3 in conversation