on 03-17-2015 4:49 PM
Hello
Is there a problem to create a Mobilink synchronization between various SQL Anywhere database versions ?
I have a succesfully little experience using Mobilink whith SQL Anywhere 10 databases (distant and consolidated in the same version).
I try to test a replication between :
- an SQL Anywhere 10 consolidated database
- and an SQL Anywhere 12 distant database
I am using Mobilink 10 server and when I lauch the replication process I have an error like this : The version of the server that created the transaction log is different (missing 64 feature).
I try to start the distant database with dbsrv12.exe (32 and 64 bits)
I try also to use the mobilink server 32 and 64
But always the same error.
Thank you for help
Hello Jean-Marc,
There are a few compatibility scenarios to be concerned with:
1. Matching the SQL Anywhere remote/consolidated database file to the version of the SQL Anywhere remote/consolidated database server.
The database server that runs the database must be equal to or higher than the major version that initialized the database. So if you created a version 10 database, this database can be accessed by a version 10, 11, 12, or 16 database server. If you have a version 9 (or lower) database, it must be rebuilt to be run by newer database version - see: DocCommentXchange.
2. Matching the MobiLink Client (dbmlsync) version to the remote SQL Anywhere database server version
These must be the same major version - version 10 dbmlsync must be used with a SQL Anywhere 10 remote, version 12 dbmlsync with SQL Anywhere 12, etc. You cannot use a version 10 dbmlsync process to connect to a version 12 remote database, or vice-versa. (I believe this is why you are seeing your particular error - try using the version 12 dbmlsync process with the version 12 server instead).
3. Matching MobiLink Client to the MobiLink server
Previous to SQL Anywhere 16, the MobiLink server major and minor version always needed to be equal to or higher than any MobiLink client major and minor version connecting to the MobiLink server. This was changed in version 16 such that any version 16 client build would be able to connect to any version build of MobiLink 16 server. See: DocCommentXchange
MobiLink server backwards and forwards compatibility - Any build of a version 16 MobiLink client can synchronize with any build of the version 16 MobiLink server. Previously, the MobiLink server build needed to be greater than or equal to the MobiLink client build.
Each version of MobiLink supports two major versions back of MobiLink clients (e.g. MobiLink 11 supports v9 and v10, MobiLink 12 supports v10 and v11, MobiLink 16 supports v12 and v11.)
Regards,
Jeff Albion
SAP Active Global Support
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Jeff
Using your very helpful response, this morning I try the following scenario on my Windows 8.1 64 bits PC ...
- I start my consolidated SQL10 database with an SQL12 64 bits engine => OK
- The remote database is an SQL 12 database started with an SQL 12 64 bits engine => OK
- I create a Mobilink 12 64 bits service and try to start it => PROBLEM : the service doesn't start with the following error message (translated from french) : The column 'script_ldt' can't be found
I guess this problem is related to the fact that I use the SQL10 "syncsa.sql" script to create the mobilink database system tables in the SQL10 consolidated database.
I am supposed to replace these system tables and scripts with the SQL12 "syncsa.sql" script
I will try and post the result.
With the SQL12 "syncsa.sql" script in the SQL10 consolidated database (running on a SQL12 engine) the Mobilink 12 64bits service starts.
I have now another problem, when I start the following command :
"c:\program files\SQL Anywhere 12\bin64\dbmlsync.exe" -c "eng=remote_engine;dbn=remote_db;uid=xxx;pwd=zzz" -dl -e "ScriptVersion=01;CommunicationAddress='host=localhost;port=2439'" -u agent_xxx -o "c:\temp\log.txt" -v+ -k -os 1M c:\temp\xxx\
I got the error (translated from french) : incorrect user name, password or Mobililink script version.
Note that the last previous information line is : The user authentification values is 4000
Any idea ?
Thank you
The problem is solved.
- Consolidated SQL10 database (not migrated in SQL12 format) running with an SQL12 engine.
- Adding the SQL12 Mobilink system tables and procedure in the SQL10 database
- Remote original SQL12 database running with an SQL12 engine
- Mobilink 12 engine
- dbmlsync 12
and then a lot of little modifications in my replications scripts
Thank you
User | Count |
---|---|
83 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.