1. Brian Naille
  2. PowerBuilder
  3. Wednesday, 17 July 2024 21:01 PM UTC

Hello,

In digging through my code we have a function that is identified as:

FUNCTION int OCIChangePassword(ref string ls_connString, ref string ls_user, ref string ls_old, ref string ls_new, ref string ls_errString, Uint li_outputsize ) &
LIBRARY "PBOra.dll" ALIAS FOR "_ChangeExpiredPassword@24;Ansi"

As we've migrated to PB2019 R3 (and Oracle 19c Client), I'm seeing that it is no longer working as expected - or at all.  I am assuming that the PB Oracle DLL is doing some sort of pass through call to invoke the Oracle OCIPasswordChange function?

We are using this for cases where the password is already expired so the database connection is immediately lost.  I guess it's supposed to allow us to change the password without an active connection (I think we're talking ORA-28001).

Here's my question - where can I find documentation on this DLL function?  Thinking it's possible that it's deprecated and if so I'm looking for alternatives.  Any help would be appreciated.

Thanks,

Brian Naille

John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 17 July 2024 21:23 PM UTC
  2. PowerBuilder
  3. # 1

Hi, Brian -

I suggest you open a (free) bug ticket regarding this issue, so that Appeon can get involved. With a few exceptions, the Community Q&A forum is handled primarily with non-Appeon volunteers - and it sounds like you will need to be in contact with Appeon staff.

    https://www.appeon.com/standardsupport/newbug

Best regards, John

Comment
  1. Brian Naille
  2. Wednesday, 17 July 2024 21:39 PM UTC
Thanks John, I will give that a shot!
  1. Helpful
  1. Brian Naille
  2. Thursday, 18 July 2024 16:46 PM UTC
So, for anyone reading this, the Appeon team was very helpful - they did check it out. It turns out that one of my former teammates developed a custom DLL that was a pass-through to call Oracle OCI functions (specifically OCIPasswordChange). What was not apparent was that they decided to name it PBOra.dll, which now conflicts with Appeon's pbora.dll. Why they didn't name it something else is a mystery. But, I took our old DLL and gave it a name that differentiates it from the Appeon DLL. And, then changed my code accordingly and voila. It works now.



So, for any of you hoping that Appeon extends their DLLs in that sort of method, it appears that they don't and I sent some folks on a wild goose chase.



I did suggest to Appeon that they follow our lead and add this function call to their code. ;-)
  1. Helpful 1
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 18 July 2024 00:15 AM UTC
  2. PowerBuilder
  3. # 2

Hi Brian;

  This is normally handled automatically by the Oracle DB client when you code ...

  • SQLCA.DBMS = "ORA"
  • SQLCA.DBParm="PWDialog=1"

No external functions required.

HTH 

Regards... Chris 

Comment
  1. Roland Smith
  2. Thursday, 18 July 2024 14:56 PM UTC
I'm surprised it worked previously since it has ;Ansi in the declaration. I would think it needs Unicode strings.
  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.