cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronize Subscription (DBREMOTE SQL17)

Baron
Participant
1,446

We were using SQL REMOTE for years on SQL Anywhere 10 without problems. From some weeks we upgraded to SQL Anywhere 17, and I tried to synchronize a subscription from Server to a Remote. One of the tables has reversed names as column name (ID, DESCRIPTION, DATETIME), and the synchronization does not work anymore!!

Is the DBREMOTE now more sensitive? Is there a workaround for this problem?

Accepted Solutions (1)

Accepted Solutions (1)

regdomaratzki
Product and Topic Expert
Product and Topic Expert

I'm not having any issues performing either regular replication of operations on a table with columns named row and description, or executing a synchronize subscription on this table.

I. 2020-03-11 09:23:26. SQL Remote Message Agent Version 17.0.10.6057
I. 2020-03-11 09:23:26. Received message from "cons" (0-0000708956-0000709293-0)
I. 2020-03-11 09:23:26. Applying message from "cons" (0-0000708956-0000709293-0)
I. 2020-03-11 09:23:26. INSERT INTO cons.admin(a_pkey,"row",description)
                        VALUES (21,'after','synch')
I. 2020-03-11 09:23:26. COMMIT
I. 2020-03-11 09:23:21. SQL Remote Message Agent Version 17.0.10.6057
I. 2020-03-11 09:23:21. Received message from "cons" (0-0000708743-0000708956-0)
I. 2020-03-11 09:23:21. Applying message from "cons" (0-0000708743-0000708956-0)
I. 2020-03-11 09:23:22. DELETE FROM cons.admin
I. 2020-03-11 09:23:22. SELECT a_pkey, "row", description FROM cons.admin
I. 2020-03-11 09:23:22. 40 rows synchronized
I. 2020-03-11 09:23:22. COMMIT

I did notice that in my output, the "row" column name was double quoted, but it wasn't in yours. Row was not a reserved word in v10, but it is in v17.

I suspect that you have upgraded the remote site to v17, but the consolidated database is still using v10. When v10 dbremote is generating messages, it does not know that "row" is a reserved word that needs quotes around it. You will need to upgrade the consolidated database to use v17 as well, or change your column name.

Reg

PS: In v12, we introduced the "reserved_keywords" option that could have forced a v12 dbremote to double quote any word you added to the reserved_keywords option, but that option does not exist in v10.

Baron
Participant
0 Kudos

Yes, your suspection is correct!

My consolidate is still V10, and my remotes are V17!

We are now in migration phase, and Cons. will be converted later to V17.

Now is very difficult to change column name.

It is now clear what is the cause, since 'row' is for V10 still not reserved.

VolkerBarth
Contributor
0 Kudos

You will need to upgrade the consolidated database to use v17 as well, or change your column name.

Or for the interim just re-extract remotes in case a SYNCHRONIZE SUBSCRIPTION is needed? (Unless you use that statement regularly, say, to add subscriptions to an existing remote).

regdomaratzki
Product and Topic Expert
Product and Topic Expert

v10 dbremote will not double quote "row" in regular insert/update/delete statements either, so I suspect these will fail in this environment as well. I don't think a re-extract will help unless there are typically no operations on that table in the consolidated database.

I. 2020-03-11 09:34:41. SQL Remote Message Agent Version 10.0.1.4310
I. 2020-03-11 09:34:41. Received message from "cons" (0-0000000000-0000361259-0)
I. 2020-03-11 09:34:41. Applying message from "cons" (0-0000000000-0000361259-0)
I. 2020-03-11 09:34:41. INSERT INTO cons.admin(a_pkey,row)
                        VALUES (1,'8.03681275')

Reg

Answers (0)