I am currently implementing RDA Pulls and Pushes. Both worked fine for me, except when I try to pull a certain table twice. I read that in order to pull the table a second time I must drop it on the client.
My original approach was to use a select statement with a where criterium in the pull statement (e.g. SELECT * from tblPhonebook where Pulled = 0), then set Pulled to 1 and pull again later.
My understanding of RDA was that I use the where criterium to filter the data at the server side and simply append that data at the client side.
Can I simply append data in some way or do I really have to drop the table on the client side every time I pull?
Regards
Tobias
you have to drop the table before the pull each time. some people solve this by introducing an inbox/outbox concept in your SQLCE/Mobile db. You RDA pull to the inbox table. you copy those rows over to your OLTP table that your mobile app intends to work against (which has same schema as inbox, except for the rda tracking columns). you post back the changes you made to the OLTP table to the inbox table (which now becomes an outbox). you push back to server, then drop the inbox/outbox table and repeat the process. burden to manage synchronization between the oltp table and inbox/outbox is on you.
this situation is really what merge replication is for.
-Darren
|||Thanks Darren,
I guessed it would be that way...
Regards
Tobias|||
I've been using the RDA pull successfully for years now. It's always been a problem that during or right before an RDA Pull there's a vulnerable period where the local table has been dropped but the RDA pulled table to replace it is not completely transfered. So if the connection breaks the local table is pretty much hosed. I read the above with interest and have often thought this would be the way to go. Any good links to a more detailed explanation of this technique? Anyone else out there using this successfully.
Another idea is to use the Select @.@.DBTS on SQLServer to get the last update deal and then bring back updates and news only without RDA but this seems convoluted....
No comments:
Post a Comment