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
|
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
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
|
Unregister your 9.0.x version of UltraLite for MobileVB. At a command prompt, enter the following:
<ASA90-install>\ultralite\UltraliteForMobileVB\win32\ulafreg -u
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.
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.
|