Before running the setup script, you should be aware of the following requirements:
The database user who runs the setup script is expected to be the same one used to update the MobiLink system tables during
synchronization. This user must be used to start the MobiLink server and to configure MobiLink applications. See Required permissions.
The RDBMS user that the MobiLink server uses to connect to the consolidated database must be able to use the MobiLink system
tables, procedures, and so on, without any qualifiers (for example, SELECT * from ml_user). See MobiLink server system tables.
The MobiLink server login ID must have EXECUTE permission on the SP_IQTRANSACTION system procedure for Sybase IQ.
To set up Sybase IQ to work as a MobiLink consolidated database, you must run a setup procedure that adds MobiLink system
tables, stored procedures, triggers, and views that are required for MobiLink synchronization. There are multiple ways you
can do this:
Run the synciq.sql setup script, located in %SQLANY12%\MobiLink\Setup.
If uploads contain upload data that modifies any synchronization tables that were defined on the IQ store, and if the MobiLink
server is running with more than one concurrent database worker thread, all the uploads must be serialized because Sybase
IQ 15 server allows only a single connection to modify a given table on the IQ store at any given time.
This requirement can be achieved, if the begin_upload connection script is written to include or to use the following SQL
LOCK TABLE table_name IN WRITE MODE WAIT time_string
where table_name is the name of a table that is defined on the IQ store and the time_string gives the maximum time period
to lock the table. The table can be as simple as one defined as follows:
create table coordinate_upload ( c1 int )
The table is not required to have any data.
All transactions that modify IQ tables must be serialized, whether they occur on MobiLink server connections or on other connections
to the IQ database. For MobiLink server transactions, the same logic outlined above can be used. This technique is more efficient
than having the MobiLink server automatically retry on each transaction and results in better performance.
When creating a synchronization model for a Sybase IQ consolidated database, the table mappings default to download-only for
IQ tables. If you change any mappings to bi-directional or upload-only, you must ensure that changes to those IQ tables are
serialized. For example, by adding a begin_upload event as described above.