cancel
Showing results for 
Search instead for 
Did you mean: 

Mobilink whith various SQL Anywhere database version

0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

jeff_albion
Employee
Employee
0 Kudos

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
  2. Matching the MobiLink Client version to the SQL Anywhere database server version
  3. Matching the MobiLink Client to the MobiLink server

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

0 Kudos

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.

0 Kudos

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

0 Kudos

I found the problem : in the consolidated database my mobilink user creation script does not use the appropriate data source name.

I have now other problems but the synchronization process seems to communicate correctly

0 Kudos

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

jeff_albion
Employee
Employee
0 Kudos

That's great Jean-Marc - thanks for following up and letting us know how it went. Glad to hear that you got it working successfully.

Cheers,

Jeff Albion

SAP Active Global Support

Answers (0)