The client message store is a SQL Anywhere database on the remote device. The application connects to this message store using the QAnywhere API.
The client message store must be used exclusively for QAnywhere applications. However, you can run another database within the database server. This is useful if you have a QAnywhere client message store and a MobiLink synchronization client running on the same device.
Using a relational database as a message store provides a secure and high-performance store.
See Creating a secure client message store.
Create a SQL Anywhere database.
See Creating a database.
Initialize each client message store by running the QAnywhere Agent (qaagent) with the following options:
-c option to specify a connection string to the database you just created.
See -c option.-si option to initialize the database. The -si option creates a default database user and password. The QAnywhere agent shuts down after initializing the database.
See -si option.-id option optionally, if you want to pre-assign a client message store ID.
See Creating client message store IDs and -id option.-mu option optionally, if you want to create a user name to use for authentication with the MobiLink server. If you do not use -mu at this point, you can specify it any time you start the QAnywhere Agent and the name will be created if it does not already exist.
If you used the -mu option to create a user name, you need to add the name to the server message store. This can be done automatically using the mlsrv10 -zu+ option, or can be done in other ways.
Change the default passwords and take other steps to ensure that the client message store is secure.
You can also upgrade a client message store that was created in a previous version of QAnywhere.
See -su option and -sur option.
NoteThe easiest way to create and maintain your client message store is in Sybase Central. From the QAnywhere plug-in task pane, choose Work With a Client Message Store. |
If you do not specify a client message store ID, then the first time you run qaagent after you run qaagent with -si, the device name is assigned as the client message store ID. The ID appears in the QAnywhere Agent window.
You may find it convenient to specify an ID manually. You can do so in the following ways:
Specify the ID with the qaagent -id option when you use the qaagent -si option to initialize the client message store.
Specify the ID with the -id option the first time you run qaagent after you initialize the client message store.
See QAnywhere Agent.
Client message store IDs must differ by more than case. For example, don't have two message store IDs called AAA and aaa.
The client message store ID has a limit of 128 characters.
It is recommended that you use a transaction log, both because a SQL Anywhere database runs most efficiently when using one and because transaction logs provide protection if there is database failure. However, the transaction log can grow very large. For this reason, the QAnywhere Agent by default sets the dbsrv10 -m option, which causes the contents of the transaction log to be deleted at checkpoints. This is recommended. If you specify the StartLine parameter in the qaagent -c option, you should specify -m.
For information about backup and recovery, see Designing a backup and recovery plan.
The following command creates a SQL Anywhere database called qanyclient.db. (The dbinit -i and -s options are not required, but are good practice on small devices.)
dbinit -i -s qanyclient.db
The following command connects to qanyclient.db and initializes it as a QAnywhere client database:
qaagent -si -c "DBF=qanyclient.db"