Following is a list of changes and additions to the software introduced in version 9.0.0.
Server-initiated synchronization Server-initiated synchronization allows you to initiate MobiLink synchronization from the consolidated database. This means you can push data updates to remote databases. The MobiLink component (the Notifier) provides programmable options for determining what changes in the consolidated database will initiate synchronization and how remotes are chosen to receive update messages. The remote component (the Listener) determines how remotes respond.See Introducing Server-Initiated Synchronization.
File-based downloads Downloads can now be processed as a file that can be distributed in any way that files are distributed, such as email, ftp, disk, or multicast file distribution. For this release, this feature can be used only with Adaptive Server Anywhere remote databases.See MobiLink File-Based Download.
New connection scripts begin_publication and end_publication Two new scripts have been added. One of their uses is implementing file-based downloads.See begin_publication connection event and end_publication connection event.
New connection script authenticate_parameters A new script has been added that allows custom authentication. The new script is invoked during authentication, before the begin_synchronization script.See authenticate_parameters connection event.
New option removes blank padding of strings For columns of type VARCHAR or LONG VARCHAR, the dbmlsrv9 -b option removes trailing blanks from strings during synchronization.See -b option.
Option starts new log file with .old extension The dbmlsrv9 -on option allows you to set a hard limit on the amount of disk space used by the MobiLink server log.See -on option.
Log progress offsets The MobiLink server can now report progress offsets, last upload time, and last download time. To obtain this information, use the dbmlsrv9 options -vp or -v+.See -v option.
Handling errors and warnings in .NET and Java synchronization logic You can now add logic to deal with errors and warnings at the MobiLink server.See Handling MobiLink server errors in Java and Handling MobiLink server errors with .NET.
Additions to MobiLink system tables Two new columns have been added to both the ml_user and ml_subscription tables. They are last_upload_time and last_download_time. The default is NOT NULL with a default time of January 1, 1900 00:00:00.In addition, a subscription_id column has been added to ml_subscription. The publication_name column now contains the publication name. See ml_user and ml_subscription.
Upload-only synchronization You can now choose to perform an upload-only synchronization.See the dbmlsync -uo option.
Download-only synchronization You can now choose to perform a download-only synchronization.See -ds option and DownloadOnly (ds) extended option.
Window messages can initiate synchronization You can now wake up dbmlsync and perform a synchronization by registering a window message as dbas_synchronize and sending it to the dbmlsync top level window.
Load dlls on startup (for Windows CE) The new dbmlsync option -pd specifies DLLs that should be loaded on startup. This option should be used by everyone using dbmlsync on Windows CE.See -pd option.
New way to upgrade or revise schema The hook sp_hook_dbmlsync_schema_upgrade stored procedure has been added to replace the dbmlsync option -i and extended option SiteScriptName (sn).See sp_hook_dbmlsync_schema_upgrade.
MobiLink exit codes To help you track and log the success and failure of your synchronizations, especially when you have multiple synchronizations in a dbmlsync session, there is a new client event hook procedure, sp_hook_dbmlsync_process_exit_code. In addition, a new value, exit code, is set in the #hook_dict table for the sp_hook_dbmlsync_abort hook.See sp_hook_dbmlsync_process_exit_code and sp_hook_dbmlsync_abort.
Enhancements to scheduling When scheduling is specified, you can reduce the amount of time spent scanning the log by using the new extended option HoverRescanThreshold (hrt) or the new hook sp_hook_dbmlsync_log_rescan.See HoverRescanThreshold (hrt) extended option and sp_hook_dbmlsync_log_rescan. Languages other than English now support the use of abbreviated day names in schedules. Previously, schedules in non-English languages required full day names. Two new keywords have been added to scheduling syntax: INFINITE instructs dbmlsync to wait indefinitely to be signalled for the next synchronization, and 0 as a day of the month specifies the last day of the month. See Schedule (sch) extended option.
Additional troubleshooting assistance for HotSync conduit You can configure the HotSync conduit to record troubleshooting information in the HotSync log.
Better dbmlsync performance when there are no schema changes Dbmlsync no longer loads schema information before every synchronization by default. This typically speeds up synchronization on slower handheld devices by 20 seconds.See -sc option.
Better dbmlsync performance on Windows CE Dbmlsync no longer uses dbtool9.dll on Windows CE. This means that it uses less memory.
MobiLink Monitor command line options The MobiLink Monitor can now be started from the command line with a variety of options.See Starting the MobiLink Monitor.
Enhancements to Redirector A new parameter, LOG_LEVEL, has been added to allow you to control the verbosity level.See Configuring Redirector properties (for Redirectors that support server groups).
Improved liveness When connecting over TCP/IP, dropped connections are detected more quickly. This frees up MobiLink worker threads more quickly when a connection is dropped, improving throughput.
Warning messages now have W prefix Prior to version 9.0, all warning and error messages had a prefix of I or E. Warning messages now have a prefix of W. This change affects dbmlsrv9, dbmlsync, dbremote, ssremote, dbltm, and ssqueue.