1. Chung Hing Charlie Wong
  2. PowerServer 2020 or older (Obsolete)
  3. Monday, 1 April 2019 03:03 AM UTC

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
Kai Zhao @Appeon Accepted Answer Pending Moderation
  1. Monday, 1 April 2019 05:20 AM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # Permalink

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
  1. Chung Hing Charlie Wong
  2. Monday, 1 April 2019 05:30 AM UTC
Thanks for your information, I would update this post when I tested it again with 11g client. Thanks!
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Sunday, 5 April 2020 01:27 AM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 1

Hi Zhoa Kai,

I know this is an old post. You gave me the same advice (maybe in a bug report time ago).

This is now still happening! 

Are we doomed to NOT use oracle 12c then? I don't want to keep using oracle 11 forever.

Any news on this?

Thank you, kind regards, MiguelL

Comment
  1. Miguel Leeuwe
  2. Monday, 6 April 2020 19:22 PM UTC
Hi Chris,

Well, our development DB is still v 11g and my client is 12c (not the best scenario). I have requested repeatedly to upgrade the server to at least v12, but all I get is promises :) I have no way of checking against 18 or 19 at this moment, but will surely do in the future. Let me just request again to install something more up to date and for now, I guess I'll just have to re-install my 11g client.

Thank you, regards.
  1. Helpful
  1. Kai Zhao @Appeon
  2. Tuesday, 7 April 2020 02:07 AM UTC
Hi Miguel,



PowerServer 2020 support Oracle 18c/19c, and solve this issue when use database type 'Oracle 18c/19c'.

http://support.appeon.com/index.php?/News/NewsItem/View/158/powerserver-2020-ga-version-for-windowsunixlinux-has-been-officially-released



Please follow steps below to work around the issue.

1 Upgrade to PB 2019 R2 and PowerServer 2020 GA.

2 Go to Toolkit > Configure > Application profile to change database type to 'Oracle 18c/19c'.

3 Full deploy application.

4 Go to AEM > Application > Transactions > Transaction Objects to change database type to 'Oracle 18c/19c'.



Regards,

ZhaoKai
  1. Helpful
  1. Miguel Leeuwe
  2. Tuesday, 7 April 2020 06:45 AM UTC
Thank you ZhaoKai!
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.