The forum will be down for maintenance over the weekend of August 18-20, 2017. The forum will be shut down on the evening (EDT) of Friday, August 18. Downtime is unknown but may be up to two days. The forum will be restarted as soon as maintenance is complete.


We are planning to make DDL changes to our SQL Anywhere 16 remote databases. We have decided to re-extract the remote databases rather then push the changes out to them. We plan to only change the synchronization script version that the remotes use. That is, we would like to use the same MobiLink usernames, MobiLink server/port, etc. Since we will be using the same MobiLink usernames, is there a way to prevent users from synchronizing with the old database/script version? Can you disable/delete the old script version?


asked 06 May '15, 14:18

cschar's gravatar image

accept rate: 0%

is there a way to prevent users from synchronizing with the old database...?

How exactly do you plan to exchange the databases? If my understanding is correct, you are about to re-extraxt all databases and then deliver them to your remote users, so they have to replace the existing databases. What do your users do between the time of re-extraction and the use of the freshly extracted and delivered database? How long/short is that timespan? (And when you plan to re-extract all and want to use only one script version, I'd think they need to be extracted in the same timeframe...)

As you state you have decided against a pushing out of the changes (which should allow for a "smooth" upgrade from the point of view of remote users), I think you will have ways to inform your users not to use the database in the meantime, right?

(07 May '15, 08:32) Volker Barth

To answer your question, yes, data in the ml_tables on the consolidated database can be deleted... but:

If you are not going to run synchronizations using both the old and the new versions, there may not be any reason to change the version... just replace all the scripts for the original version. This is done all the time when bugs are fixed: the scripts are changed and then they are all reloaded; it is convenient to have all the MobiLink scripts in one (or a few) *.sql text files.

Multiple script versions are useful when some remotes are upgraded and some are not, and the "not" remotes must still synchronize using the old version of the MobiLink scripts.

permanent link

answered 07 May '15, 07:26

Breck%20Carter's gravatar image

Breck Carter
accept rate: 21%

I will not be able to prevent users from synchronizing with their previous database if I use the same script version. Even though we will inform the users not to do this (as Volker Barth pointed out), I don't want any "oops" moments (perhaps I have trust issues).

Anyway, I guess I was just looking for the best or simplest way of preventing a particular script version from syncing. Say you have 2 script versions using the same MobiLink server, how would you temporarily prevent one of the script versions from syncing without shutting down the MobiLink server?

(08 May '15, 10:34) cschar
Replies hidden

how would you temporarily prevent one of the script versions from syncing without shutting down the MobiLink server?

I guess it's not possible to force the clients not to use a particular script version (without changing the clients). But as a brute-force attempt, you should be able to run mlsrv16 -zf ("check for script changes") and replace the scripts of the "prevented" version temporarily with "no-op" scripts... - Note, I don't know whether this will really work. I still would suggest to replace databases one by one (or to upgrade them with schema changes instead of a re-extract), so both script versions can be run in parallel. Just my 2 cents, anyway:)

(08 May '15, 18:11) Volker Barth
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 06 May '15, 14:18

question was seen: 365 times

last updated: 08 May '15, 18:11