Quantcast
Channel: SCN: Message List - SAP SQL Anywhere
Viewing all articles
Browse latest Browse all 2182

Re: Updating publications in multiple remote DBs

$
0
0

Hi Arcady,

 

Technically, you cannot change publications while they have outstanding operations to be uploaded to the MobiLink server or have active subscriptions. In newer versions, you will see the error:

Could not execute statement.
This operation is only allowed within a synchronization schema change
SQLCODE=-1329, ODBC 3 State="HY000"
Line 1, column 1

 

In previous versions of MobiLink, there was a requirement to perform the following steps to issue a schema change:

 

  1. Ensure a successful upload against the MobiLink server
  2. Perform a schema / publication change (inside sp_hook_dbmlsync_schema_upgrade, if neccessary)
  3. Synchronize (with a new script version, if required).

 

As you can guess, many customers were not happy about the pre-conditions of ensuring a successful upload before making schema changes. In version 12, we introduced START SYNCHRONIZATION SCHEMA CHANGE so that you can now do the following operations, even with active subscriptions and operations:

 

  • You can alter a publication to change the column subsetting of any table in table-list.
  • You can alter a publication to drop any table in table-list.
  • You can alter any of the tables listed in table-list.

 

With this, we now allow a 'transitional sync' immediately following the changes where we upload using the previous definitions and then do another synchronization using the new definitions.

 

---

 

Can I first delete all articles in the publication and then add them again?

 

Yes.

 

Will that deactivate the subscriptions?

 

No, but depending on which version of MobiLink you're using, you may be restricted in your operations unless certain pre-conditions are first met.

 

Regards,

 

Jeff Albion

SAP Active Global Support

 


Viewing all articles
Browse latest Browse all 2182

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>