When rebuilding a database on Windows CE, you have the following options:
Rebuild the Windows CE database on another platform and then copy the database to the Windows CE device. This is the recommended method for rebuilding a Windows CE database.
Repopulate an empty database using dbmlsync.
Repopulate an empty database using dbremote.
Use dbunload on the Windows CE device.
The first three options are recommended when upgrading a Windows CE database. However, if these options are not available to you, you can use dbunload on CE. Before deciding to use dbunload on Windows CE, you should consider the following implications of using dbunload on Windows CE:
the size of the database server's temporary file (both the unload and reload can cause this file to grow to several megabytes)
the extra space required for dbunload and related components
the extra cost of having multiple copies of a database on the Windows CE device
Because running dbunload on a Windows CE device can require more resources than some devices have available, upgrading the database on a different platform is recommended whenever possible.
If you want to run dbunload on a Windows CE device, you must choose the Unload/Reload Support option in the Deploy SQL Anywhere 10 for Windows CE wizard. You can modify your SQL Anywhere installation to add this support if you did not select this option when you first installed SQL Anywhere for Windows CE.
To use dbunload on a Windows CE device, ensure you have performed the following tasks:
The following files should be deployed to your SQL Anywhere installation directory (by default, \Program Files\SQLAny10):
The following files should be deployed to the \Windows directory:
The following registry entry string value should be set to the SQL Anywhere software directory: HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\SQL Anywhere\10.0\Location.
The following steps can be embedded into third-party Windows CE applications so that the process is automated for the end user. If you choose to do this, then you should consider using the -qc and/or -q dbunload and dbrunsql options or calling the DBUnload function in dbtool10.dll.
On a platform other than Windows CE, create a new, empty SQL Anywhere 10 database.
The CHAR collation sequence should match that of the existing database. If NCHAR UCA sorting is not required, the NCHAR collation sequence should be UTF8BIN (this way, dbicu10.dll is not required by the database server).
Copy the SQL Anywhere 10 software and the empty SQL Anywhere 10 database file to the Windows CE device. See Notes about using dbunload on Windows CE.
Ensure there are no database servers running on the device.
Run the following command:
dbunload-path\dbunload -c "UID=DBA;PWD=DBA-password;CHARSET=none;DBF=existing-database" unload-directory
Ensure that dbunload succeeded, and then close the dbunload window.
Execute the following command:
dbrunsql-path\dbrunsql -c "UID=DBA;PWD=sql;CHARSET=none;DBF=new-empty-SQLAnywhere10databasefile" -g- \reload.sql
Ensure that dbrunsql succeeded, and then close the dbrunsql window.
Remove the reload.sql file and unload-directory from the Windows CE device.