![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Is there a simple way when resolving conflicts, the remote who modified a record the last time wins the conflict. Another thing, what if the consolidate modified the record later, in this case the record shouldn't be updated. TIA |
#3
| |||
| |||
|
|
Is there a simple way when resolving conflicts, the remote who modified a record the last time wins the conflict. |
|
Another thing, what if the consolidate modified the record later, in this case the record shouldn't be updated. |
|
Is there a simple way when resolving conflicts, the remote who modified a record the last time wins the conflict. Another thing, what if the consolidate modified the record later, in this case the record shouldn't be updated. TIA |
#4
| |||
| |||
|
|
See my book, or the Help: MobiLink Administration Guide Synchronization Techniques Handling conflicts Resolving conflicts Resolving conflicts with resolve_conflict scripts Breck On 16 Feb 2006 04:36:28 -0800, R.Brouwer wrote: Is there a simple way when resolving conflicts, the remote >who modified a record the last time wins the conflict. Another thing, what if the consolidate modified the record >later, in this case the record shouldn't be updated. TIA -- SQL Anywhere Studio 9 Developer's Guide Buy the book: http://www.amazon.com/exec/obidos/AS.../risingroad-20 bcarter (AT) risingroad (DOT) com RisingRoad SQL Anywhere and MobiLink Professional Services www.risingroad.com |
#5
| |||
| |||
|
#6
| |||
| |||
|
|
Is there a simple way when resolving conflicts, the remote who modified a record the last time wins the conflict. Do you mean the time that the record was updated at the remote, or the time that the update was synchronized to the consolidated? Another thing, what if the consolidate modified the record later, in this case the record shouldn't be updated. Are you trying to stop ALL updates to the table on the consolidated? I'm a little unclear what you're asking here. -- Reg Domaratzki, Sybase iAnywhere Solutions Sybase Certified Professional - Sybase ASA Developer Version 8 Please reply only to the newsgroup iAnywhere Developer Community : http://www.ianywhere.com/developer iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals ASA Patches and EBFs : http://downloads.sybase.com/swd/base.do -> Choose SQL Anywhere Studio -> Set filter to "Display ALL platforms IN ALL MONTHS" R.Brouwer> wrote in message news:43f46297.77f.1681692777 (AT) sybase (DOT) com... Is there a simple way when resolving conflicts, the remote who modified a record the last time wins the conflict. Another thing, what if the consolidate modified the record later, in this case the record shouldn't be updated. TIA First of all thanks for the fast reply. |
#7
| |||
| |||
|
|
R.Brouwer wrote in news:43f46297.77f.1681692777 (AT) sybase (DOT) com of sybase.public.sqlanywhere.mobilink: RB> Is there a simple way when resolving conflicts, the remote RB> who modified RB> a record the last time wins the conflict. RB> Another thing, what if the consolidate modified the record RB> later, in this case the record shouldn't be updated. Please ALWAYS include version and MORE importantly BUILD number with EACH post (dbeng9 -v). I just realized our documentation does not really provide any examples of how to perform the standard timestamp based conflict resolution rules. That is disappointing. I will include a sample to the doc team to include it. That will be in our next major release of SA. There are a number of ways to do what you ask but each of them requires you to write some code. If your consolidated database is ASA (please include this information with future posts) then you have a few more options. I personally favour this approach (from the 9.0.2 docs): MobiLink Administration Guide Synchronization Techniques Handling conflicts Resolving conflicts Resolving conflicts with upload_update scripts Okay, this sample DOES show timestamp based resolution, but it was very difficult to find. Read through that section, this part is of special interest: IF( @@rowcount = 0 ) THEN -- David Fishburn Certified ASA Developer Version 8 iAnywhere Solutions - Sybase Professional Services Please only post to the newsgroup Please ALWAYS include version and MORE importantly BUILD number with EACH post (dbeng9 -v). EBFs and Maintenance Releases http://downloads.sybase.com/swx/sdmain.stm Developer Community / Whitepapers http://www.ianywhere.com/developer CaseXpress - to report bugs http://casexpress.sybase.com CodeXchange - Free samples http://ianywhere.codexchange.sybase....ctDocumentList |
#8
| |||
| |||
|
|
R.Brouwer wrote in news:43f46297.77f.1681692777 (AT) sybase (DOT) com of sybase.public.sqlanywhere.mobilink: RB> Is there a simple way when resolving conflicts, the remote RB> who modified RB> a record the last time wins the conflict. RB> Another thing, what if the consolidate modified the record RB> later, in this case the record shouldn't be updated. Please ALWAYS include version and MORE importantly BUILD number with EACH post (dbeng9 -v). I just realized our documentation does not really provide any examples of how to perform the standard timestamp based conflict resolution rules. That is disappointing. I will include a sample to the doc team to include it. That will be in our next major release of SA. There are a number of ways to do what you ask but each of them requires you to write some code. If your consolidated database is ASA (please include this information with future posts) then you have a few more options. I personally favour this approach (from the 9.0.2 docs): MobiLink Administration Guide Synchronization Techniques Handling conflicts Resolving conflicts Resolving conflicts with upload_update scripts Okay, this sample DOES show timestamp based resolution, but it was very difficult to find. Read through that section, this part is of special interest: IF( @@rowcount = 0 ) THEN |
#9
| |||
| |||
|
|
R.Brouwer wrote in news:43f46297.77f.1681692777 (AT) sybase (DOT) com of sybase.public.sqlanywhere.mobilink: RB> Is there a simple way when resolving conflicts, the remote RB> who modified RB> a record the last time wins the conflict. RB> Another thing, what if the consolidate modified the record RB> later, in this case the record shouldn't be updated. Please ALWAYS include version and MORE importantly BUILD number with EACH post (dbeng9 -v). I just realized our documentation does not really provide any examples of how to perform the standard timestamp based conflict resolution rules. That is disappointing. I will include a sample to the doc team to include it. That will be in our next major release of SA. There are a number of ways to do what you ask but each of them requires you to write some code. If your consolidated database is ASA (please include this information with future posts) then you have a few more options. I personally favour this approach (from the 9.0.2 docs): MobiLink Administration Guide Synchronization Techniques Handling conflicts Resolving conflicts Resolving conflicts with upload_update scripts Okay, this sample DOES show timestamp based resolution, but it was very difficult to find. Read through that section, this part is of special interest: IF( @@rowcount = 0 ) THEN -- David Fishburn Certified ASA Developer Version 8 iAnywhere Solutions - Sybase Professional Services Please only post to the newsgroup Please ALWAYS include version and MORE importantly BUILD number with EACH post (dbeng9 -v). EBFs and Maintenance Releases http://downloads.sybase.com/swx/sdmain.stm Developer Community / Whitepapers http://www.ianywhere.com/developer CaseXpress - to report bugs http://casexpress.sybase.com CodeXchange - Free samples http://ianywhere.codexchange.sybase....ctDocumentList I'm running SQL Anywhere v9.0.2.3249 I don't get the upload_update example, first of all i count 10 arguments in the stored procedure 'sp_update_customer' and I count 6 arguments in the call to the stored procedure in the upload_update event (call sp_update_customer(.......)) Maybe this is correct, my knowledge about stored procedures and triggers isn't that good. If I see the explanation of the upload_update table event I miss aruments. Probably I miss something here. In the update_old/new_row_insert events I get the old/new row uploaded from the client. How can I find out when they where modified? Do I have to insert a timestamp (default timestamp) column in every table I want to synchronize on all remote databases (like I have to do on the consolidated database for time-synchronization)? TIA |
#10
| |||
| |||
|
|
The example's wrong, you need a matching CALL. Yes, you need a column to keep track of row timestamps. Like I said earlier, beware of remote computers with wonky clock settings. Breck On 16 Feb 2006 08:13:19 -0800, R.Brouwer wrote: R.Brouwer wrote in news:43f46297.77f.1681692777 (AT) sybase (DOT) com >> of sybase.public.sqlanywhere.mobilink: RB> Is there a simple way when resolving conflicts, the remote RB> who modified RB> a record the last time wins the conflict. RB> Another thing, what if the consolidate modified the record RB> later, in this case the record shouldn't be updated. Please ALWAYS include version and MORE importantly BUILD >> number with EACH post (dbeng9 -v). I just realized our documentation does not really provide >> any examples of how to perform the standard timestamp >> based conflict resolution rules. That is disappointing. >> I will include a sample to the doc team to include it. >> That will be in our next major release of SA. There are a number of ways to do what you ask but each of >> them requires you to write some code. If your consolidated database is ASA (please include this >> information with future posts) then you have a few more >> options. I personally favour this approach (from the 9.0.2 docs): >> MobiLink Administration Guide Synchronization Techniques Handling conflicts Resolving conflicts Resolving conflicts with upload_update scripts Okay, this sample DOES show timestamp based resolution, but it was very difficult to find. Read through that section, this part is of special interest: IF( @@rowcount = 0 ) THEN -- David Fishburn Certified ASA Developer Version 8 iAnywhere Solutions - Sybase Professional Services Please only post to the newsgroup Please ALWAYS include version and MORE importantly BUILD >> number with EACH post (dbeng9 -v). EBFs and Maintenance Releases http://downloads.sybase.com/swx/sdmain.stm Developer Community / Whitepapers http://www.ianywhere.com/developer CaseXpress - to report bugs http://casexpress.sybase.com CodeXchange - Free samples http://ianywhere.codexchange.sybase....vlets/ProjectD ocumentList I'm running SQL Anywhere v9.0.2.3249 I don't get the upload_update example, first of all i count >10 arguments in the stored procedure 'sp_update_customer' >and I count 6 arguments in the call to the stored procedure >in the upload_update event (call sp_update_customer(.......)) Maybe this is correct, my knowledge about stored procedures >and triggers isn't that good. If I see the explanation of the upload_update table event I >miss aruments. Probably I miss something here. In the update_old/new_row_insert events I get the old/new row uploaded from the client. How can I find out when they where modified? Do I have to insert a timestamp (default timestamp) column >in every table I want to synchronize on all remote databases >(like I have to do on the consolidated database for >time-synchronization)? TIA -- SQL Anywhere Studio 9 Developer's Guide Buy the book: http://www.amazon.com/exec/obidos/AS.../risingroad-20 bcarter (AT) risingroad (DOT) com RisingRoad SQL Anywhere and MobiLink Professional Services www.risingroad.com |
![]() |
| Thread Tools | |
| Display Modes | |
| |