1. Kelly Amott
  2. PowerBuilder
  3. Thursday, 12 December 2019 19:58 PM UTC

New to PowerBuilder 2019. I have two PB 8 apps that I will be migrating. Found the hard way that I have to have a DB connection for a full migration. I am attempting to set up a database profile but need guidance on the server connection parameters. The connection string I would normally use results in an error that PB cant resolve the service name.

SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = <*********>
SQLCA.ServerName = "ts26ip:1521"

 

What am I missing? 

 

P.S. Any advice on good PowerBuilder reference material? I'm hoping the migration does the heavy-lifting and that this a straight-forward conversion.

Kelly Amott Accepted Answer Pending Moderation
  1. Tuesday, 17 December 2019 19:41 PM UTC
  2. PowerBuilder
  3. # 1

Turns out it's a known Oracle "feature" where the parentheses aren't allowed. PowerBuilder can't be installed in the Program Files (x86) directory. Once I moved it to Program Files the connection succeeded. Onward and upward.

 

Thanks everyone for your guidance.

Comment
  1. Armeen Mazda @Appeon
  2. Tuesday, 17 December 2019 19:48 PM UTC
Thanks for sharing the solution!
  1. Helpful
  1. Chris Pollach @Appeon
  2. Wednesday, 18 December 2019 15:11 PM UTC
Hi Kelly;

FWIW: There is no issue with installing PB in any folder with parenthesis. The problem would be with Oracle and its a known long time issue with that DBMS only.

Regards ... Chris
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 12 December 2019 22:10 PM UTC
  2. PowerBuilder
  3. # 2

Hi Kelly;

  Sorry ... forgot to mention this link regarding your migration considerations question ...

https://docs.appeon.com/appeon_online_help/pb2019/migrating_pb_apps/index.html

HTH

Regards ... Chris

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Thursday, 12 December 2019 22:04 PM UTC
  2. PowerBuilder
  3. # 3

Hi, Kelly - 

You need to set the DBMS property of SQLCA to "O12" to use the Oracle 12 driver.

SQLCA.DBMS = "O12"

And you will need the PBO12190.dll (PB Oracle 12 for PB v19.0) to run the compiled app.

I concur with Armeen that ASCII -> Unicode will likely be your biggest hurdle. If your application is built on a framework such as PFC, you will likely need to upgrade the PFC libraries to a recent version because of Unicode concerns, deprecated features in PB and the PFC, and new features in PB and the PFC.

If your application invokes Windows API functions via external function declarations, ASCII -> Unicode issues may need to be addressed there as well, depending on which API functions your app uses.

Good luck!

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 12 December 2019 21:17 PM UTC
  2. PowerBuilder
  3. # 4

Hi Kelly;

  You do not have to use an old Oracle 9i DBMS instance. If your DBA has already migrated the 9i DB Schema to a newer release like O12 for example, you can just connect the new PB IDE to that for the migration.

  What ever PB IDE version you use, you must have the complimentary Oracle DB Client installed on that same PC. You can test this connectivity by using Oracle's SQL Command line utility (SQL/Plus). Once that works, your PB IDE should connect as well.

  Note that the PB IDE uses a 32 bit connection to Oracle. However, PowerServer uses 64 bit (and other high-end utilities). So I would install both the 32bit and 64 bit DB client. IMHO, the best client Oracle has is the "Instant Client" version.

  In order to resolve the "Server Name", the Oracle client normally uses the TNS file's entries. If that looks OK, the reason for your connectivity issue could be network related like: firewall, proxy, etc settings that need to be addressed by your System Support personnel. All this though would be resolved if SQL/Plus on your PB IDE's PC connects OK.

HTH

Regards ... Chris

Comment
  1. Kelly Amott
  2. Thursday, 12 December 2019 23:02 PM UTC
Hi Chris. Thanks so much for the info. I've tried SQL Developer and SQL*Plus and can successfully connect to my target database using both. With PB I've tried different variations on server name (with and without port number) but no matter the flavor I use I get the error message "ORA-12154: TNS: could not resolve service name." I know it's going to come down to something simple. Is there a DB step prior to setting up a profile? Somewhere that I can identify my tnsnames path?
  1. Helpful
  1. Chris Pollach @Appeon
  2. Thursday, 12 December 2019 23:30 PM UTC
Hi Kelly;

SQLPlus uses the TNS. So take note of the connection parameters that you are using in that utility. Also in PB, you have to use the correct "interface" driver that matches your DB Client version. For example: SQLCA.DBMS = "ORA" for Oracle 12 or 18.

Regards ... Chris
  1. Helpful
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Thursday, 12 December 2019 20:31 PM UTC
  2. PowerBuilder
  3. # 5

This is in response to your "P.S." not the Oracle config issue.

PB 8 is very old version so you will have to deal with some things.  The biggest thing off top of my head is converting to unicode.  

If you are using RichTextEdit in your app, make sure to set the RichText engine to "TX Text Control".

Here are some tech resources that may help you with upgrading to newer versions of PowerBuilder:

If you get really stuck and feel you may need consulting services, there are a number of partners that do these upgrades all day long at reasonable prices: https://www.appeon.com/consultants/consulting-partners

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