UltraLite version 9 and earlier 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. Upgrade the UltraLite database.
  2. Rewrite the data access code for your application.
    Note

    You can try using the Migrate C++ API Wizard in SQL Anywhere 10, but it may still be necessary to rewrite some of the data access code for your application.

    The wizard helps you identify embedded SQL that may no longer conform to version 10 specifications. If you cannot complete the migration process, you can stop and save the SQL statements that you have modified to a *.uag file.

    The Migrate C++ API Wizard is available with SQL Anywhere 10. You can download the SQL Anywhere 10 Developer Edition at [external link] http://www.sybase.com/download_sqlany_10_developer_edition.

An embedded SQL application Changes are trivial. No tool required.
A Java application

See UltraLiteJ.

UltraLite components

Major code rewrites include the following:

  • Schema re-writes   Because the schema has been integrated into the database as of version 10, all components required 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 methods.

  • Connection re-writes   All interfaces that use 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.