Custom Resolver (Business Logic Handler)

  • I have a system where certain data for a given record can be updated by

    either the Server or the Mobile Device.

    Upon replication we get a conflict.

    The data that can be updated is in different columns.

    '

    I have tried to use column level tracking but it does not appear smart

    enough to "merge" the data.

    Consequently I am trying to create a custom resolver in managed code that

    allows me to choose which data is successfully applied to the resulting

    record.

    Had I been aware of this potential conflict earlier I would have designed

    the database differently, however, this did not rear its head until we

    reached production.

    The problem I actually have is that I don't seem to be able to correctly

    register the dll in order to get the resolver to work. I get the following

    error

    Error messages:

    · No signature was present in the subject.

    (Source: MSSQL_REPL, Error number: MSSQL_REPL-2146762496)

    Get help: http://help/MSSQL_REPL-2146762496

    The Custom Resolver Component for article 'job' does not have a valid

    digital signature. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147198713)

    Get help: http://help/MSSQL_REPL-2147198713

    Neither of the associated links has any information other than "sorry, no

    information".

    SQL Server and IIS are on the same box so no problem with which machine to

    use.

    I have tried to strong name and GAC the dll but this does nto appear to help

    or my use of sp_registercustomresolver is incorrect.

    I would appreciate any pointers from people who have succeeded in getting a

    managed code conflict resolver up and running.

    Thanks

    Steve


    Regards,

    Steve

    Life without beer is no life at all

    All beer is good, some beers are just better than others

  • This was removed by the editor as SPAM

  • So, to answer my own question for any who are thinking of trying this.

    My real problem was in creating a certificate that was trusted becuase that was what it wanted.

    Got that bit working.

    Then and only then, did I discover that I could turn off the requirement to have the dll verified. Keep forgetting that things are locked down now and you have to open them up yourself.

    Then got another issue with this Businees Logic Handler.

    Having plugged it into SQL Server and merge replication and then debugged it, I

    found that the data was not what I had viewed before exiting the debugger.

    I had successfully merged some data where I had conflicting updates at

    publisher and subscriber. In debug I could see the combined dataset.

    However, on completion of the process, despite telling the process to use my

    custom dataset (as per the instructions), I found that the Subscriber dataset

    had won the conflict.

    This must be a bug musn't it? Either that or I have missed something in the

    instructions. Anyone had a chance/need to try this and experienced something

    similar?

    Seems like noone here has tried this yet so hopefully you can learn from my misfortune.


    Regards,

    Steve

    Life without beer is no life at all

    All beer is good, some beers are just better than others

  • And to add one final point, this is apparently a known issue in SQL 2005 RTM and is fixed in SP1.

    Hope this helps someone else.


    Regards,

    Steve

    Life without beer is no life at all

    All beer is good, some beers are just better than others

  • I'm having the same issue now with the Custom business logic handler on SQL2005:

    2007-09-24 15:38:25.090 Category:NULL

    Source:  Merge Process(Web Sync Server)

    Number:  -2146762496

    Message: No signature was present in the subject.

    2007-09-24 15:38:25.090 Category:NULL

    Source:  Merge Process(Web Sync Server)

    Number:  -2147198713

    Message: The Custom Resolver Component for article 'ZTab' does not have a valid digital signature.

    When I connect my simple handler as given in the MSDN example, it works, however when I add functionality and references to my own assemblies, this issue reappears.

    How did you configure the .net permissions to get this ignored?

  • The following solved the issue:

    EXEC sp_changemergearticle

    @publication = N'mypub',

    @article = N'ztab',

    @property = N'verify_resolver_signature',

    @value = 0;

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

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