Upgrade Information

You can upgrade a PowerBuilder application from any version of PowerBuilder directly to PowerBuilder 2017 R3.

Before you upgrade, back up your files and use the Migration Assistant to identify obsolete code. The applications you build using the current version of PowerBuilder must be deployed with the PowerBuilder runtime DLLs from the current version.

Note

The "Migrating PowerBuilder Applications" technical document at https://www.appeon.com/support/documents/appeon_online_help/pb2017r3/migrating_pb_apps includes information on changes to PowerBuilder since version 6.5 that might affect the conversion of applications to a more recent PowerBuilder version.

Migrating .NET Targets from Earlier Versions of PowerBuilder

When you migrate .NET Web Service components, you might need to remove or install supporting files on development and deployment computers.

If you deployed .NET projects from earlier versions of PowerBuilder, verify or complete these steps before redeploying the migrated .NET projects:

  • For .NET Web Service targets, clear ASP.NET temporary files for the application or component on development computers and production servers.

    The temporary files are located in the C:\WINDOWS\Microsoft.NET\Framework\version\Temporary ASP.NET Files\projectName directory, where version is typically v2.0.50727, and projectName is the project's Web application name or its Web service virtual directory name.

  • For all .NET targets, uninstall earlier versions of PowerBuilder runtime files (system assemblies and win32 DLLs) on all deployment computers or servers, then install the runtime files for the current version of PowerBuilder using the Runtime Packager or another tool, as described in the "Checklist for deployment" section of the Deploying Components as .NET Assemblies or Web Services.

System Types as Variable Names in Proxies

In PowerBuilder versions 10.5 and later, you cannot use system types as variable names in Web service proxies.

If a PowerBuilder system type is used as a variable name, the Web Service Proxy wizard renames the variable by applying the prefix ws_. If you are migrating Web service applications from PowerBuilder 10.2 or earlier, and regenerating the Web service proxies in PowerBuilder 10.5 or later, you may need to modify your code to reflect the change in variable names.

PowerBuilder system types include not only the objects and controls listed on the System tab page in the PowerBuilder Browser, but also the enumerated types listed on the Enumerated page in the Browser, such as band, button, encoding, location, and weekday. For example, if you build a Web service from a PowerBuilder custom class user object, and one of its functions has a string argument named location, in the proxy generated for that Web service, the argument is changed to ws_location.

OLE DB Performance with Microsoft SQL Server

In PowerBuilder 10.5.2 and later, when you use the OLE DB database interface with a Microsoft SQL Server database and retrieve data into a DataWindow, or use an embedded SQL cursor in a SELECT statement, server-side cursors help to support multiple command execution.

If this has a negative impact on performance, try increasing the size of the Block database parameter to 500 or more, or adding the following line to the [Microsoft SQL Server] section in the PBODB initialization file to turn off server-side cursors: ServerCursor = 'NO'

Change in Behavior of OpenTab

A change was made in PowerBuilder 10.2.1 Build 9716, PowerBuilder 10.5.1 Build 6505, and PowerBuilder 11.0 Build 5021, to correct an anomalous behavior when the SelectedTab property was applied at runtime to a tab for which the Visible property was set to false.

As a result of this change, there is a change in the behavior of the OpenTab and OpenTabWithParm functions. In earlier versions, calling the OpenTab or OpenTabWithParm function to open a user object as a tab page displayed the tab page even if the user object's Visible property was set to false. In the current version, the user object's Visible property must be set to true for the tab page to appear.

ImportFile Size Limit

If your application uses the ImportFile method to import very large text files into a DataWindow or DataStore, ImportFile returns the error code -15.

PowerBuilder versions 10.0 and later are Unicode enabled. Earlier ANSI versions of PowerBuilder were able to import larger text files.

Note

The release bulletins for earlier versions listed the size limit for large files as approximately 839,000 lines. However, the size limit depends on the number of columns in the files, as well as the number of lines.