SQLRemote Passthrough-Mode : CANNOT ADD COLUMN

Skip to first unread message


Dec 10, 2009, 10:43:52 AM12/10/09
Hello NG,
started SQL Remote (ASA 11) with one consolidated database and only one
remote database.

Then we tried to add a column to an existing table in our publication.
In the Sybase documentation for the passthrough mode it seems possible.

We used the PASSTHROUGH command (consolidated database) in ISQL:

ALTER TABLE OurTable ADD otherColumn CHAR(40);

After execution the resulting message was like that (originally in german ):
"Command could not be executed. Table OurTable is part of a sychronization
SQLCode = -819, ODBC state = "42502"

Now the question : Is it ( ASA 11) not possible in the passthrough mode to
add a column to a table.
Or had i made a mistake ?
Thanks for your answers

Reg Domaratzki [Sybase iAnywhere]

Dec 10, 2009, 11:33:52 AM12/10/09

Do you have both SQL Remote and MobiLink setup on the database where you
received the error? If you don't believe that you have anything
MobiLink related on the database, check the contents of the SYS.SYSSYNC
table. I suspect there is at least one row in the table where the
publication_id column is not null. If the SYS.SYSSYNC table is in fact
empty, can you please run dbunload -n on the database in question and
post a zipped up version of the reload.sql that is generated?

Reg Domaratzki, Sybase iAnywhere Solutions
Please reply only to the newsgroup

Documentation : Exercise your WRITE @DocCommentXchange: DCX.sybase.com
SQL Anywhere Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere
-> Optionally set filter to "Display ALL platforms IN ALL MONTHS"

Volker Barth

Dec 14, 2009, 7:12:37 AM12/14/09

in addition to Reg's hints, adding a (nullable) column *is* possible
with SQL Remote. We do this regularly in V 8.
(And if it were not, SQL Remote would be quite useless, which it is not,
of course!)

Besides the MobiLink-related warning, I would recommend 2 things:
a) Do always qualify owner names in Passthrough mode. Passthrough mode
might be executed by a different user on the remotes (i.e. by the one
with REMOTE DBA priviledge, running the message agent), and that user
may or may not have access to the according database objects without
qualified names.
b) Do use an explicit COMMIT; at the end before the PASSTHROUGH STOP.
It's not necessary in your case as ALTER TABLE does an automatic commit,
but is generally considered "good passthrough mode practise".

Just my thoughts


Reply all
Reply to author
0 new messages