From: rocket salad on
I have two servers in merge replication. Each article is given the same
conflict handling stored procedure which selects the successful result using
the following DSQL:

N'SELECT * FROM
'+@subscriber+N'.'+@subscriber_db+N'.'+@tableowner+N'.'+@tablename+
' WHERE rowguid = ''' + CAST(@rowguid as varchar(40)) + ''''

or

N'SELECT * FROM '+@tableowner+N'.'+@tablename+
' WHERE rowguid = ''' + CAST(@rowguid as varchar(40)) + ''''

Depending on whether the subscriber or publisher wins out.

Things work fine for the most but recently I had a notification telling me
that the conflict table didn't allow nulls for a certain field and uploads to
the publisher couldn't proceed.

The field in question contains a lot of empty strings but doesn't allow null
in any table it exists, which makes me think that perhaps the empty string is
getting selected as a null when the conflict occurs.

Does this sound plausible? If so, how would I stop this happening (other
than allowing nulls on that field)?

Thanks in advance.
Pete.