1. Ben Higgins
  2. PowerBuilder
  3. Monday, 6 January 2020 03:28 AM UTC


My organisation has a 2-Tier PowerBuilder App last upgraded to PowerBuilder 9.5 in 2012. I am looking at upgrading it to a the latest version of PowerBuilder.

Will the latest version of PowerBuilder be able to compile this quite old application? With minor changes, major changes or is it bascially time for a re-write of the application? Thoughts and advice appreciated.

My organisation is very happy with the functionality of the system, and does not mind that it is 2 Tier. We just want to be able to sustain it (make minor changes & occasional bug fixes) for another 5 or so years.

Thanks for your time.





David Peace (Powersoft) Accepted Answer Pending Moderation
  1. Wednesday, 8 January 2020 14:11 PM UTC
  2. PowerBuilder
  3. # 1

It should be pretty straightforward, let us know if you need any help.



There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Monday, 6 January 2020 14:45 PM UTC
  2. PowerBuilder
  3. # 2

regardless of version, it is probably just minor changes

just copy (backup) your PBLs to another directory, then start the new pb.  Make sure you create your database connection before you open up your PB app in the new version, then it will do an automatic migration.   it will list out all the problems it finds.

 It will be mostly minor fixes for powerbuilder/script.  Mostly bugs that old PB allowed, or bugs that happened to work the way you wanted them to.  Quite possibly no changes.   If you really are on a PB 9 version, then it will be fewer changes, but if you are on a older version, then expect more.


3rd party dlls and API calls will require ansi/unicode that chris has the info link for.  However, PB does a decent job in the migration of handling that.

the database driver changes may be your biggest set of changes if you used the really old sql sever native driver.  However, if you already used odbc/oledb or oracle you should be ok.  What database driver do you use?



  1. Ben Higgins
  2. Monday, 6 January 2020 21:50 PM UTC
Hi Mike,

At the moment I do ot even have access to the source code (as it is maintained by a 3rd party). It is using Oracle 12c though I do not know which driver.


  1. Helpful
  1. Michael Kramer
  2. Wednesday, 8 January 2020 17:06 PM UTC
I worked with Oracle 12c called from PB 12.5 later PB 2017 for three years.

There was a Oracle data dictionary performance issue. That was "Oracle internal" though impacted waiting time when developer opened the SQL for a DataWindow. No impact on app users.

Good luck! /Michael
  1. Helpful
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Monday, 6 January 2020 14:28 PM UTC
  2. PowerBuilder
  3. # 3

So that we can properly advise you on the upgrade, there is no such version as 9.5. The current version in 2012 was 12.5. Please double check the version and let us know.


  1. Ben Higgins
  2. Monday, 6 January 2020 21:54 PM UTC
Hi Roland, It is probably PB 9. I am getting this from old 2006 documentation (currently unable to talk to the developers owing to contractual fun and games).

You guys have shown me it should in principle be achievable (maybe not just a re-compile, but some effort required) to upgrade. This is a fine answer for us. Thanks to all.
  1. Helpful
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Monday, 6 January 2020 13:25 PM UTC
  2. PowerBuilder
  3. # 4

I'm fully in line with Chris on this one.

Major change is Unicode in PB 10. Which as consequence doubles all resource consumption for strings. Expect approx. double disk size + double memory usage; unless your app primarily deals with lots of numbers + dates/times while very few strings.

In PB 9 you have a fairly full-blown PowerBuilder version albeit several new controls and properties were added later. Watch out for your DBMS and DB driver versions. That is always worth extra focus when you jump a decade forward in PB versions. Same for Office integration. All-in-all I'd expect highest risk of issues in the interfaces between your PB app and any external apps your app communicates with.

Code originally written prior to PB 5 may have some odd features you should consider fixing. Things like:

  • Hidden DataWindows.
    They act as DataStores that were new in PB 5.
  • Loops to extract or insert large chunks of data in DataWindow buffers.
    PB 5 introduced .object notation and block-based get/set of data.
  • Lots of instance variables or "chatty" objects that reach into each other for data.
    PB 5 introduced unmapped user events where you define parameters and return datatype.
  • Lots of TriggerEvent/PostEvent( "…xxx..." )
    PB 5 introduced DYNAMIC keyword and easy way to POST function calls.
  • SetActionCode(int) in ItemChanged, ItemError, etc.
    PB 5 replaced that with straightforward "RETURN int".

Wish you luck on the migration.

HTH /Michael

There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Monday, 6 January 2020 03:47 AM UTC
  2. PowerBuilder
  3. # 5

Hi Ben;

   Normally, this type of migration from an older PB version like yours is mostly straightforward & automatic. The biggest challenge in your case is that PB9.x is an ANSI version while PB10.x versions & higher are Unicode. So you may need to refactor some single byte string manipulation into double byte equivalents.

   Here is a good migration guide to read in advance ...



Regards ... Chris

  1. Ben Higgins
  2. Monday, 6 January 2020 03:50 AM UTC
Thanks Chris!
  1. Helpful
  1. Chris Pollach @Appeon
  2. Monday, 6 January 2020 17:10 PM UTC
Hi Ben .. you are most welcome!

Tip: When you install PB2019 and *before* you migrate your older PB App's code - run the "Migration Assistant" first from PB2019 on your old PB 9.x code. Let it first advise you if there are issues with your current PB code. If not, then start the migration process.

Regards ... Chris
  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.