cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC and character set convert issue

0 Kudos

Hi All,

For some special Chinese characters, we will have the "ORA-00933: SQL command not properly ended" error when we try to insert the data into a Oracle ASCII DB. I have been tried to use the "HasQuot='no'" in the tag and the "N'xxxx'" in the data field but we still got the error.

Do anyone have the idea about it?

Best Regard

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

Thanks all of yours help.

stefan_grube
Active Contributor
0 Kudos

Did you find a solution?

How did it work?

Former Member
0 Kudos

Hello Cheng,

Could you please provide the solution.We are facing the same issue and tried with above 3 options but no luck.We were able to insert data into DB but ended with junk characters.Please help me out.

If any one find the solution please help me.

Thanks

dharamveer_gaur2
Active Contributor
0 Kudos

Hi,

Yes use attribute name as "hasQuot" and pass constant value "No"...

Check SAP note 831162 for help

prateek
Active Contributor
0 Kudos

Make sure that the attribute name is "hasQuot" and not "HasQuot".

I am not sure if this will help with Oracle database as well. You may try using XMLAnonymizer adapter module to change the encoding.

Regards,

Prateek

0 Kudos

Hi Prateek and Dharamveer,

Thanks your reply.

Actually, I used "hasQuot" and not "HasQuot" but it did not work.

The constant value that I put for "hasQuot" is "no". Should I use the upper case as "No" in it?

By the way, what is XMLAnonymizer adapter module.

Is it the SAP standard and having any document can be refered?

Thanks

Best Regard

Former Member
0 Kudos

XMLAnonymizerBean is a standard Adapter Module which is shipped by SAP. This adapter module should be called before the "Call SAP Adapter" module and is used for handling special characters.

Take a look at this link for more details:

http://help.sap.com/saphelp_nw04/helpdata/en/45/d169186a29570ae10000000a114a6b/content.htm

stefan_grube
Active Contributor
0 Kudos

> You may try using XMLAnonymizer adapter module to change the encoding.

You need not try this, as this will not work.

You cannot store chinese characters into an ASCII database.

First you should discuss a concept with your project lead, what should happen if chinese character are in the message pyload.

Maybe this is an error on sender side? Or you should remove them during mapping? Or you change your DB to unicode?

0 Kudos

Hi Stefan,

Therer's a Chinese character set, Big5, is an extended ASCII.

I have not studied the XMLAnonymizer yet.

But if I can conver the data from UTF-8(PI internal using) to Big5, may be I can save the data properly.

Anyway, I have to solve the ORA-00933 issue and save the none Chinese character into DB first.

stefan_grube
Active Contributor
0 Kudos

So you say, you can store big5 codepage characters to your Oracle DB?

0 Kudos

It is possilbe to store Big5 code in ASCII DB since it is one kind of ASCII code too.

If the locale or code page on client is Big5 or 950(MS windows) then the data can be shown properly.

We tried many ways to store Big5 code in ASCII DB by using PI in these days but failed.

The following are the things that I have tried.

1. enable "hasQuot" with "no" or "No" constant in attribute; set the data as format N'xxxx' : still got ORA-00933.

2. enable AF_Modules/XMLAnonymizerBean befer and after CallSapAdapter module: for some special characters it still has )RA-00933; even we insert the data into DB successfully, we can not process the response properly.

3. enable AF_Modules/TextCodepageConversionBean before CallSapAdapter module: we can insert the special characters into DB if we set the parameter of Conversion.charset to ASCII. However, the Chinese character will become to "?" in DB.

I will keep trying,

Thanks all of your help.