I have a number of insert\update adapters to an oracle database, I need to change a few to support Chinese and Japanese characters. Should add select adapters not causing any issues.
Most adapters we use are simple dynamic SQL, so it was simple to add N’${string}', but i just cant get the insert/update adapters to correctly use the correct encoding
I’ve tried to change the connection to defaultNChar=true but still doesnt work, has anyone solved this.
I would like to fix this without potentially changing connection, as this is shared with a large number of interfaced. I may need to replace the adpapters with dynamic ones
Should add we have
NLS_CHARACTERSET WE8MSWIN1252 -----suspect this is being used by adapters
NLS_NCHAR_CHARACTERSET AL16UTF16
I didn’t understand what you are trying to change exactly. Can you explain with an example and provide some screenshots?
For the part where you suspect a column being used by the adapter. You can increase log level to see the generated sql squery. Go to settings → logging → Adapter → 0001 JDBCAdapter. Don’t forget to change it back. It will generate a lot of entries in your log files if you keep it in debug mode.
Its pretty straight forward, not sure screen shots will help
Dynamic insert adapter will work if i force the column by prefixing N to column string ie output example
insert into table (colA…) values (N’頂戴’,…
But i cannot get an update or insert adapter to write a unicode character into database, it will be saved as ¿¿. I need the adapters to use nchar NLS_NCHAR_CHARACTERSET AL16UTF16 encoding.
If i was using a java prepared statement i could force the column to be written correctly. I have tried changing properties for the connection, to try the adapter to write the characters corrrectly but it does not seem to work
In the test adapter i am playing with, column is defined