1. Nikesh Mishra
  2. PowerBuilder
  3. Tuesday, 13 November 2018

Hi Team,

Can I use Oracle 18c with powerbuildr2017. Please advise.

 

Regards

Nikesh

Thomas George Accepted Answer Pending Moderation
0
Votes
Undo

Frank,

 

What errors are you getting? Are they "ORA-01024: invalid datatype in OCI call"? That's what I'm getting when testing passing arrays of strings with Oracle 19c. (I haven't tried 18c.)

 

Tom

 

Comment
There are no comments made yet.
  1. Tuesday, 20 August 2019
  2. PowerBuilder
  3. # 1
Armeen Mazda Accepted Answer Pending Moderation
0
Votes
Undo

Hello everybody with Oracle 18c issues, please open support tickets because we are planning to officially support Oracle 18c in Revision 2 of PB 2019, which is scheduled to release this year, and want to do our best to address all your issues in that release.  https://www.appeon.com/standardsupport/newbug

Comment
Shall I open a ticket with the issue discussed here or is this issue already registered?



Thanks,

Robert
  1. Robert Koltai
  2. Wednesday, 21 August 2019
Hi Robert;

Please go ahead & open a support ticket for this issue. If it's a replicable issue, then we can certainly use this as an 18C "test case".

Many thanks in advance!

Regards ... Chris
  1. Chris Pollach
  2. Wednesday, 21 August 2019
Hello!

Ticket logged, with reproducible testcase and source code.

https://www.appeon.com/standardsupport/track/view?id=3223



Cheers,

Robert
  1. Robert Koltai
  2. Thursday, 22 August 2019
There are no comments made yet.
  1. Friday, 16 August 2019
  2. PowerBuilder
  3. # 2
Robert Koltai Accepted Answer Pending Moderation
0
Votes
Undo

Hello!

 

We have very similar problem with PB application and arrays when using 18c database.

Does anyone know if the newest Appeon releases overcame this problem?

 

Thanks,

Robert

Comment
Hi Robert;

PB2019 is not yet certified for O18C.

Regards... Chris
  1. Chris Pollach
  2. Friday, 16 August 2019
Certification coming in PB 2019 R2 to be released this year.
  1. Armeen Mazda
  2. Wednesday, 21 August 2019
There are no comments made yet.
  1. Friday, 16 August 2019
  2. PowerBuilder
  3. # 3
Miguel Leeuwe Accepted Answer Pending Moderation
0
Votes
Undo

I assume you already have "PBNewSPInvocation='Yes'" in your dbparm connection string? 

If not, try adding it, it might solve the problem.

HTH

Comment
There are no comments made yet.
  1. Sunday, 30 June 2019
  2. PowerBuilder
  3. # 4
Frank Louis Accepted Answer Pending Moderation
0
Votes
Undo

Hi Nesh, Hi Team

 

we are currently testing our product (build with PB2017R3) with ORACLE 18c.

We notice problems with "RPCFUNC" passing "pl/sql tables". So we notice problems

with passing "ARRAYS" in and out to Oracle stored procedures/functions.

This problem is new and not happen then we run our product with a ORACLE Server 12.x or lower.

Best regards.

Frank

 

Some Details we find out:

DBMS=trace ORA Oracle

this Error comes only on Oracle 12c Servers:

0ED62440): EXECUTE REMOTE PROCEDURE: IMS.gm_insert.getAttribValuesByIds
 ARRAY TYPE VCHAR
 ARRAY TYPE VCHAR REFERENCE
 ARRAY TYPE LONG
 ARRAY TYPE LONG
(0ED62440): BEGIN         :rc := IMS.gm_insert.getAttribValuesByIds( :0,:1,:2,:3); END;  (0.000 MS / 1533.062 MS)
(0ED62440): *** ERROR 932 ***(rc -1) : ORA-00932: Inkonsistente Datentypen: %s erwartet, %s erhalten

(0ED62440): ORA-00932: Inkonsistente Datentypen: %s erwartet, %s erhalten
 (0.000 MS / 1533.062 MS)
(0ED62440): *** ERROR 932 ***(rc -1) : ORA-00932: Inkonsistente Datentypen: %s erwartet, %s erhalten
 (15.668 MS / 1548.730 MS)
(0ED62440): *** ERROR 932 ***(rc -1) : ORA-00932: Inkonsistente Datentypen: %s erwartet, %s erhalten

 

Implementation Infos:

We have Oracle Package Signatures like this:

Oracle PL/SQL:

CREATE OR REPLACE PACKAGE "GM_INSERT" is
/*==============================================================*/
/* Created on:     25.01.05 08:00:00                            */
/* Modified on:    22.01.18 10:06:00                            */
/* Version :       initial Version 1.0c                        */
/*==============================================================*/
TYPE T_VARCHAR2_ARRAY is TABLE of vd_attrib.vd_valuestring%TYPE index by binary_integer;
TYPE T_NUMBER_ARRAY   is TABLE of NUMBER                        index by binary_integer;


function getAttribValuesById(
  a_tagStringList_in    in  T_VARCHAR2_ARRAY,
  a_valueStringList_out out T_VARCHAR2_ARRAY,
  a_obj_id              in  object.obj_id%type Default null,
  a_insert_id           in  vd_insert.vd_id%TYPE Default null
) return Number;
function getAttribValuesByIds(
  a_tagStringList_in    in  T_VARCHAR2_ARRAY,
  a_valueStringList_out out T_VARCHAR2_ARRAY,
  a_obj_ids             in  T_NUMBER_ARRAY,
  a_insert_ids          in  T_NUMBER_ARRAY
) return Number;

 

And calls from our product (build with PB2017R3) like this:

function double dbf_insert_getAttribValuesById(string a_tagStringList_in[], REF string a_valueStringList_out[], long a_obj_id , long a_insert_id) RPCFUNC ALIAS FOR "IMS.gm_insert.getAttribValuesById"
function double dbf_insert_getAttribValuesByIds(string a_tagStringList_in[], REF string a_valueStringList_out[], long a_obj_ids[] , long a_insert_ids[]) RPCFUNC ALIAS FOR "IMS.gm_insert.getAttribValuesByIds"

Implemented like this:

public function long uof_getattribvaluesbyid (string as_tagstringlist_in[], ref string as_valuestringlist_out[], long al_obj_id, long al_insert_id)

/* Funktion getAttribValues
 * Liefert zu einem Insert (a_insert_id) alle Attribute
 * tagstring (as_tagStringList_out[]) und valuestring (as_valueStringList_out[]).
 * den es platziert ist (Figure (Standort).
 * a_array_size: die Groesse des übergebenden Powerbuilder Arrays
 * Return: Anzahl der Attribute, im Fehlerfalll -1
 */
long     ll_return_rowcount
long     ll_fetchsize
long     ll_insert_id
long     ll_obj_id
long     ll_upperbound
long     ll_cnt            

string     ls_valueStringList_out[], ls_empty_list[]

ll_insert_id     = al_insert_id
ll_obj_id         = al_obj_id

ll_fetchsize     = Upperbound(as_tagstringlist_in[])
//Übergabespeicher reservieren
FOR ll_cnt=ll_fetchsize to 1 step -1
  ls_valueStringList_out[ll_cnt]=space(512)
NEXT
//retrieve
if ll_fetchsize > 0 then
  ll_return_rowcount = this.dbf_insert_getAttribValuesById(as_tagStringList_in[], REF ls_valueStringList_out[], al_obj_id, al_insert_id)
end if
ll_upperbound = upperbound(ls_valueStringList_out)
//Leerstellen der Reservierung entfernen
FOR ll_cnt=1 TO ll_upperbound
    ls_valueStringList_out[ll_cnt] = RightTrim(ls_valueStringList_out[ll_cnt])
NEXT
//out
as_valueStringList_out[] = ls_valueStringList_out[] //copy to out buffer
ls_valueStringList_out[] = ls_empty_list[] //clear mem
return (ll_return_rowcount)

 

 

 

Comment
Hi Frank Louis,



Did you resolve the issue with arrays and Oracle 18c?



  1. Elizabeth Schmidt
  2. Thursday, 20 June 2019
Hi Elizabeth Schimdt,

the issue is not resolved. We try a lot of thinks, to sort it out. All we found is, that "Number Arrays" still work and "string Arrays" result in an error. We make a small Example and open a "Bug"



Regards

Frank
  1. Frank Louis
  2. Monday, 24 June 2019
There are no comments made yet.
  1. Friday, 23 November 2018
  2. PowerBuilder
  3. # 5
Chris Pollach Accepted Answer Pending Moderation
0
Votes
Undo

Hi Nikesh;

  Oracle 18C is just coming out but, not yet fully. For example the "Express" version is still "coming soon". The initial release was for Linux only. Only in the past few weeks has there been an MS-Windows version. Although, its a heavy download and install of the full product (in many Gig's).

  That being said, Appeon PB 2019 is already in "freeze" mode feature wise as Appeon prepares for the Beta release later this month. So I would imagine that Engineering will be targeting support for this new Oracle 18C DBMS release in either PB2019 R2 or R3 in 2019/2020.

   In the mean-time, if the O18C client is backwards compatible to O12C, then it should work with PB2017R3. However, this has still not yet been tested (AFAIK) as O18C is still "coming out of the gate" as we speak. It will be interesting to test PB2017R3 later this month or next when the full O18C rollout is ready.

HTH

Regards .. Chris

Comment
There are no comments made yet.
  1. Tuesday, 13 November 2018
  2. PowerBuilder
  3. # 6
Nikesh Mishra Accepted Answer Pending Moderation
0
Votes
Undo

Hi David,

Thnaks for advise.I am referring the client version.

 

Regards

Nikesh

Comment
There are no comments made yet.
  1. Tuesday, 13 November 2018
  2. PowerBuilder
  3. # 7
1
Votes
Undo

Good Morning Nikesh

I assume that you are referring to the database server version rather than the client version.

I have not personally tried it, but I cannot see any reason why it should not work. You may have to use an older client for PB but that should not be a problem. 18c is all about how the DB is managed for you.

Hope that helps

David
Technical Director
Powersoft

Comment
There are no comments made yet.
  1. Tuesday, 13 November 2018
  2. PowerBuilder
  3. # 8
  • Page :
  • 1


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