Merge Replication Conflicts

  • Example:

    In the table [article table] , the column [article stock] is 5

    subscriber 1 sells 1 unit and updates [article stock] to 4

    subscriber 2 sells 2 units and updates [article stock] to 3

    when they synchronize, there will be a conflict on [article stock], and none of them is right.

    The right value should be 5-1-2 = 2

    How can i accomplish this?

    Thanks for your help!

  • jpdlp (4/29/2009)


    Example:

    In the table [article table] , the column [article stock] is 5

    subscriber 1 sells 1 unit and updates [article stock] to 4

    subscriber 2 sells 2 units and updates [article stock] to 3

    when they synchronize, there will be a conflict on [article stock], and none of them is right.

    The right value should be 5-1-2 = 2

    How can i accomplish this?

    Thanks for your help!

    IF you are using row-level tracking then: Implement a Stored Procedure-Based Custom Conflict Resolver for a Merge Article

    IF you are using row-level tracking you will have to bite the bullet in C#

    Implement a Business Logic Handler for a Merge Article

    Good luck!


    * Noel

  • noeld (4/29/2009)


    jpdlp (4/29/2009)


    Example:

    In the table [article table] , the column [article stock] is 5

    subscriber 1 sells 1 unit and updates [article stock] to 4

    subscriber 2 sells 2 units and updates [article stock] to 3

    when they synchronize, there will be a conflict on [article stock], and none of them is right.

    The right value should be 5-1-2 = 2

    How can i accomplish this?

    Thanks for your help!

    IF you are using row-level tracking then: Implement a Stored Procedure-Based Custom Conflict Resolver for a Merge Article

    IF you are using row-level tracking you will have to bite the bullet in C#

    Implement a Business Logic Handler for a Merge Article

    Good luck!

    Thanks for your answer Noeld.

    But what king of business rule can i implement here?

    That's the part i'm interested in.

    It doesn't seems reasonable to calculate the stock every time a synchronism occurs based on all the sales movements.

    The value of the [article stock] changes in all the parts involved in the synchronism, and this change occurs via a trigger in other table (a sales movement).

    How can i track all off this ?

    Thanks again for your help.

  • jpdlp (4/30/2009)


    noeld (4/29/2009)


    jpdlp (4/29/2009)


    Example:

    In the table [article table] , the column [article stock] is 5

    subscriber 1 sells 1 unit and updates [article stock] to 4

    subscriber 2 sells 2 units and updates [article stock] to 3

    when they synchronize, there will be a conflict on [article stock], and none of them is right.

    The right value should be 5-1-2 = 2

    How can i accomplish this?

    Thanks for your help!

    IF you are using row-level tracking then: Implement a Stored Procedure-Based Custom Conflict Resolver for a Merge Article

    IF you are using row-level tracking you will have to bite the bullet in C#

    Implement a Business Logic Handler for a Merge Article

    Good luck!

    Thanks for your answer Noeld.

    But what king of business rule can i implement here?

    That's the part i'm interested in.

    It doesn't seems reasonable to calculate the stock every time a synchronism occurs based on all the sales movements.

    The value of the [article stock] changes in all the parts involved in the synchronism, and this change occurs via a trigger in other table (a sales movement).

    How can i track all off this ?

    Thanks again for your help.

    Sorry the Business rule is in case column-level tracking is enabled.

    "You" set up the business rule already ---> 5-1-2 = 2

    There is noway a server can tell what another server did if synchronization does not happen.

    I thought you wanted the value to be updated as synchronization happens.

    "Tracking", is a totally different issue. It, requires you to keep some sort of audit trail.

    You will have to keep history of the changes if you want to know why a "merged" value has reached certain number.

    Once again conflict resolution seems to me as the right place to log the reasons for a value change.


    * Noel

  • how about transaction repliction with immediate update

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply