1. Chung Hing Charlie Wong
  2. PowerServer Web
  3. Monday, 01 April 2019

Urgently seek for advice for below issues, thanks you in advance.

 

After we migrated oracle database server from 10g to 12c, with charset changed from BIG5 to UTF-8,

the result obtained from oracle functions through SQLCA are different between PB app and Web app,

 

// code

string ls_call_ref_no

ls_call_ref_no = sqlca.f_gen_doc_no('CIC', 'CIC', ls_user_id)

// Result

Result in PB App:     CIC20190400001 << 14 characters

Result in Web App:  CIC2019             << 7 characters

 

So I make a guess, it should be related to single byte / double byte issue, meanwhile the encoding is incorrect when Chinese character is updated by Web App, meanwhile it is correct by PB App.

 

I have gone through the database setting for Web App, but I could not find something related. 

Please advise for the above finding. Thanks.

Accepted Answer
Zhao Kai Accepted Answer Pending Moderation
0
Votes
Undo

Hi Chung,

This is an Oracle bug 【Bug 21616079】, please give a try with Oracle 11G client.

According to Oracle documentation, it presents only in Oracle 12.1 and was
fixed in Oracle 12.2. However we tried it again Oracle 12.2 and found it still
presents.

Below was a resolution from online and you may try it on your side and see if
it works:
“I tried to resolve issue by migrating to ODP.NET as System.Data.OracleClient
is being deprecated by Microsoft as mentioned here , but issue was not
resolved. Below is how issue was resolved :
Oracle client version installed on machine 12.1.0.2.2
Output parameter truncation bug is mentioned in Oracle docs as Bug21616079
Oracle has given fix in version 12.2.0.1.0 as mentioned in Oracle documentation
here.
So upgrading to version 12.2.0.1.0 from 12.1.0.2.2 fixed this issue for me as
Oracle has given fix in this version only which is mentioned in official Oracle
documentation for which I provided link above in point 3.”

You may refer to the below links for more:
https://community.oracle.com/message/14379540#
https://community.oracle.com/message/14397062#14397062
https://stackoverflow.com/questions/28508440/microsoft-iis-8-5-oracle-output-variables-are-truncated
https://stackoverflow.com/questions/42856909/stored-procedure-output-varchar2-value-truncated-using-12c-client


And below is from Oracle documentation at
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/odbcr/odbc-driver-release-notes.pdf:
Software Problems Fixed
Software problems fixed are shown by version for versions 11.1.0.1.0 to the
current
version.
Most of the software bug fixes are generic in nature though some may have been
discovered on a particular platform. There could be a small number of platform
specific
software bug fixes as well. Software bug fixes are described for the following
versions:
? Version 12.2.0.1.0
? Version 12.1.0.2.0
? Version 12.1.0.1.0
? Version 11.2.0.2.0
? Version 11.2.0.1.0
? Version 11.1.0.1.0
Version 12.2.0.1.0
Lists the problems fixed for version 12.2.0.1.0.
? Oracle ODBC driver 12.1.0.2 had a performance degradation that was observed
when using the DBMS.DESCRIBE procedure. (Bug 22566981)
? ODBC Driver now includes the version number in the driver name when
OCI_ATTR_DRIVER_NAME is set, such as ODBCCLNT : 12.2.0.1.0. (Bug 21795969)
? Oracle ODBC driver truncated an output parameter of SP when run from
12.1.0.2.
(Bug 21616079)
? Multi-threaded UNIX ODBC application hung on SSLSSREGHDLR. (Bug 21459317)
? Oracle ODBC driver now allows a Server name length to 1024 bytes long. (Bug
21379636)


Regards,
ZhaoKai

Comment
Thanks for your information, I would update this post when I tested it again with 11g client. Thanks!
  1. Chung Hing Charlie Wong
  2. Monday, 1 April 2019
There are no comments made yet.
  1. Monday, 1 April 2019
  2. PowerServer Web
  3. # Permalink


There are replies in this question but you are not allowed to view the replies from this question.