1. Rolf Knaden
  2. PowerBuilder
  3. Friday, 5 February 2021 12:29 PM UTC

Hi.
I am converting our application from PB2017 R3 to PB2019 R3. All runs fine.
Except I have a problem concerning the new runtime environement and loading Oracle oci.dll with our application.

My application is named "buisy" and I would like to provide the runtimes beneath the application path.
So my buisy.xml looks like that:

<?xml version="1.0" encoding="utf-8" ?>
<Application>
    <RuntimePath>\Runtime\Runtime 19.2.0.2670</RuntimePath>
</Application>

When starting my application it says:

"Oracle library OCI.DLL could not be loaded"

When changing my buisy.xml to the path where the PB IDE has installed the runtimes

<?xml version="1.0" encoding="utf-8" ?>
<Application>
    <RuntimePath>C:\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime 19.2.0.2670</RuntimePath>
</Application>

the application does find the OCI.DLL and all runs fine.

I copied the full directory C:\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime 19.2.0.2670 to my application path \Runtime\Runtime 19.2.0.2670.
What's the reason for that?

Regards,

Rolf

Ken Guo @Appeon Accepted Answer Pending Moderation
  1. Monday, 8 February 2021 08:20 AM UTC
  2. PowerBuilder
  3. # 1

Hi Rolf,

 

It is a bug. I reproduced this bug according to your description. I have submitted it to the development team to handle.

 

To better handle and track this issue, I suggest you submit a ticket in the Appeon Support system (https://www.appeon.com/standardsupport/newbug) so that we can keep you posted on the progress.

 

Regards,

Ken

 

Comment
  1. Rolf Knaden
  2. Monday, 8 February 2021 08:31 AM UTC
Hi Ken.

I already submitted this ticket https://www.appeon.com/standardsupport/search/view?id=6025 on Friday.

Regards,

Rolf
  1. Helpful
  1. Ken Guo @Appeon
  2. Monday, 8 February 2021 08:42 AM UTC
Got it. Thank you!
  1. Helpful
There are no comments made yet.
Rolf Knaden Accepted Answer Pending Moderation
  1. Friday, 5 February 2021 13:57 PM UTC
  2. PowerBuilder
  3. # 2

Thanks Miguel. Your hint using the full path was good. I changed my buisy.xml to

<?xml version="1.0" encoding="utf-8" ?>
<Application>
    <RuntimePath>C:\Program Files (x86)\Planon conjectFM\Client - PB2019\Runtime\Runtime 19.2.0.2670</RuntimePath>
</Application>

And it works now.

But that's a bug to be fixed I would suggest. Because in the docs is written:

And it is very tricky to install our application, if we only can use absolute paths. We must edit the xml-file during setup to the value the user has choosen. Not nice.

Should I open a ticket?

Comment
  1. Miguel Leeuwe
  2. Friday, 5 February 2021 14:10 PM UTC
Well, glad it works!

Yes, I would open a ticket, so it gets a priority and can be considered for the MR that hopefully will come out within 90 days.

regards
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Friday, 5 February 2021 13:05 PM UTC
  2. PowerBuilder
  3. # 3

Maybe it's trying to load the OCI.DLL of some wrong Oracle client installation. Do you have more than one oracle client installed?

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Friday, 5 February 2021 12:47 PM UTC
  2. PowerBuilder
  3. # 4

I think, not sure, you might be missing a "." before the first "\" to indicate the "current directory".

Try this:

.\Runtime\Runtime 19.2.0.2670

Comment
  1. Miguel Leeuwe
  2. Friday, 5 February 2021 13:03 PM UTC
Oh ok, now I see what you mean with "he finds the directory".

Try running Process Monitor from SysInternals, that would give you an indication of WHERE it's trying to find the OCI.dll when it fails.
  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 5 February 2021 13:34 PM UTC
Another thing I think of, is that when your path is not an "absolute" (complete) path, the application sometimes might be reading or writing files from other places than where your application is. Even GetFileSaveName() and things like that ... That would change windows' "internal current directory" (the one you get when you do a "GetCurrentdirectory()".) Your relative path then stops working, unless you always do a ChangeDirectory() back to the folder where your relative path is, to make it work again (the app's folder).
  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 5 February 2021 13:35 PM UTC
But then again ... you say it DOES find the initial path .. maybe it's a bug somehow?
  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.