Home > Archive > SQL Anywhere Mobile > April 2005 > 'Primary Key for table '%1' is not unique but data synchronizing









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author 'Primary Key for table '%1' is not unique but data synchronizing
Mili

2005-04-21, 8:24 pm

Hi All,

Would anyone know why this could be happening. The .out file shows no
error, data is synchronizing properly but Hotsync reports Primary Key for
table %1 not unique

this is how I am starting the Mobilink server -> dbmlsrv9 -c
"dsn=SK4" -v+ -za -zu+ -o ml.out -fr

Even more confusing is that I am not getting an error but my client is
getting it?????? We have the same database and sync script

Help......

Thank you.

Mili


Shuchit

2005-04-22, 11:24 am

What version of ASA and ultralite are you using and more importantly what
build ? Also, which UltraLite interface are you using ie. AppForge, or C
with dynamic SQL, or C with embedded SQL or C with static C++ api or
something else ?

>
> Would anyone know why this could be happening. The .out file shows no
> error, data is synchronizing properly but Hotsync reports Primary Key for
> table %1 not unique
>


This usually means two or more rows with the same primary key are being
sent down in the download stream during the same synchronization session.
This can happen due to a improper join, mismatched columns, etc. in the
download_cursor.


> this is how I am starting the Mobilink server -> dbmlsrv9 -c
> "dsn=SK4" -v+ -za -zu+ -o ml.out -fr


Your ml.out file should have data for all the rows that were included in
the download. Depending on how many rows and tables you have, you might be
able to visually detect the duplicate rows.

>
> Even more confusing is that I am not getting an error but my client is
> getting it?????? We have the same database and sync script
>


This happens because, by default MobiLink server completes generating the
download stream and moves on to the next synchronization request from a
different remote before the remote is done receiving and analysing and
applying the download.
This behaviour is controlled by the "Send Download Acknowledgement"
synchronization parameter.
See <http://tinyurl.com/ao7h6>
which points to
<http://www.ianywhere.com/developer/...ere/0902/en/htm
l/dbmnen9/00000323.htm>

You typically want this behaviour to increase the throughput of your
MobiLink server. This way, the MobiLink worker thread is not idly waiting
for the download stream to make it across a potentially slow communication
stream and wait for a possibly slow remote to finish applying the download.


Shuchit
Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com