1. Jörg Walter
  2. PowerBuilder
  3. Friday, 19 May 2017 11:46 AM UTC

Hi

I want to access NVARCHAR2 fields in my Oracle DB 12.1.0.2.0 from a Powerbuilder 11.5 Application.

DB-Params:

NLS_NCHAR_CHARACTERSET = AL16UTF16

NLS_CHARACTERSET = WE8MSWIN1252

No NLS_ Registry entries

Powerbuilder:

NLS Charset = Unicode

​The Oracle Instant Client DLLs Version 12 (I tried 11 also) are located in the workspace directory.

 

When accessing the table via Database Painter I get the error message ORA-04043: Object NVARCHAR2 not found.

Unicode content is displayed in a datawindow with reversed ???

Writing unicode content via the datawindow effectively writes ??? into the DB

 

Where do I go from here?

 

 

 

 

Chris Pollach Accepted Answer Pending Moderation
  1. Friday, 19 May 2017 13:56 PM UTC
  2. PowerBuilder
  3. # 1

Hi Jörg;

    Support for Oracle 12.x was not available in PowerBuilder until version 12.6 and in fact ... you needed a few EBF's into that release to get it right.

My suggestion would be to migrate to PB 2017 coming out at the end of June to get the proper O12C support you need.

HTH

Regards ... Chris

Comment
  1. Jörg Walter
  2. Monday, 22 May 2017 10:30 AM UTC
Thanks for the answer, Chris!



I guess we will migrate to the next version.



I tried and partially succeeded:



 



I am using the Oracle Client 11.2 (with a 12.1 DB)



I modified my connection string and I am now able to



update and select unicode columns from within script (NVARCHAR2),



update unicode columns from a datawindow,



display the selected content in a MessageBox.



My DBParm is:



http://imgur.com/a/4Jkd2



​The field is set to the Tahoma font



The Charset Property is thaicharset! (cannot change this)



 



But Unicode content is not correctly displayed in datawindow fields (still upside down ???)



Screenshot:



http://imgur.com/a/fDIss



What might be wrong?



 



 

  1. Helpful
There are no comments made yet.
Andrey Dudochkin Accepted Answer Pending Moderation
  1. Thursday, 27 February 2020 10:15 AM UTC
  2. PowerBuilder
  3. # 2

Hi

Maybe it will help: StaticBind=0, NCharBind=1

Comment
There are no comments made yet.
David Peace (Powersoft) Accepted Answer Pending Moderation
  1. Thursday, 27 February 2020 14:19 PM UTC
  2. PowerBuilder
  3. # 3

Hi Jörg;

I can reproduce your problem against an Oracle 11.2 DB using PB11.5, let's see if I can find a solution :)

 

I messed with the DB connection parms and this worked:

// Profile dev11
SQLCA.DBMS = "ORA Oracle"
SQLCA.LogPass = <*>
SQLCA.ServerName = "dev11"
SQLCA.LogId = "pm1step"
SQLCA.AutoCommit = False
SQLCA.DBParm = "NcharLiteral='Yes',StaticBind=0"

Comment
  1. David Peace (Powersoft)
  2. Thursday, 27 February 2020 15:52 PM UTC
My applogies I was slightly premature... It worked retrieving data saved with original DB parms once I changed the DB parm and edited the data the retrieve displayed garbage as before.



I conclude that ther is some sort of bug which is a disconnect between the saving DB parms and the displaying DB parms if that makes sence. Almost as if something is being reversed. I've run out of time now, but still might be worth fiddling with the DB parms.... but I'm less convinced now.



Sorry
  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.