Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 10.0.1 » SQL Anywhere 10 - Changes and Upgrading » Upgrading to SQL Anywhere 10 » Upgrading UltraLite » Porting pre-10.0.0 UltraLite application code to version 10.0.1

Porting pre-10.0.0 UltraLite application code to version 10.0.1 Next Page

UltraLite application code upgrade paths


Because development APIs and approaches can vary in UltraLite, the upgrade process also varies according to the approach taken. The following table captures the approach required depending on what you need to upgrade.

If you need to upgrade a previous version of...Do this...

A ulgen generated C/C++ application

  1. Use the Extract Database wizard or run the UltraLite Initialization utility (ulinit) to create a version 10.0.1 UltraLite database. See Initialization/extraction tools.1

  2. Use the Migrate C++ API wizard to read tables and statements from the SQL Anywhere 10 project for UltraLite to migrate the API accordingly. See UltraLite application code upgrade tools.

9.x versions of UltraLite for MobileVB

  1. Unregister your 9.0.x version of UltraLite for MobileVB. At a command prompt, enter the following:

    <ASA90-install>\ultralite\UltraliteForMobileVB\win32\ulafreg -u
  2. Register the UltraLite for AppForge 10.0.1 component. At a command prompt, enter the following

    <install-dir>\win32\ulafreg -r

    Visual Basic displays a message for each subproject that uses ULConnectionParms:

    Version 9.0 of ulmvbctl9.dll is not registered. The control will be updated to version 10.0.
    
  3. Click OK to use the new version.

An embedded SQL application

Changes are trivial. No tool required.

A Java application

Since the introduction of UltraLite 10.0.0, Java is no longer included in UltraLite. You must re-write your application with a supported API.

UltraLite components

Major code rewrites include the following:

  • Schema re-writes  Because the schema has been integrated into the database with this version, all components need to rewrite the OpenWithCreate functions for ULConnection objects, as well as to remove all schema upgrade code. Instead, you can create a database on the device with ULDatabaseManager.CreateDatabase. However, to reduce the amount of code required to define the properties in the new database, you should create a database on desktop and deploy it to the device upon completion. For complete details, see UltraLite on-device creation and UltraLite desktop creation.

  • Connection re-writes  All interfaces that used a connection parameter object have been removed: this includes functions or methods that created, opened or dropped the database. Instead, you can use the string interface to pass in these connection parameters.

1 Ensure you have upgraded the SQL Anywhere database first. See Upgrading SQL Anywhere.