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   The schema was integrated into the database in version 10 and later. All components required for rewriting the OpenWithCreate functions for ULConnection objects, and all schema upgrade code were removed. You can create a database on the device with ULDatabaseManager.CreateDatabase. 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 Create an UltraLite database on a first connection and Creating an UltraLite database.

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