The basic problem is that you're trying to put a '' (i.e. a string with nothing in it), into a field on SQL Server that won't allow it. You can either change the value to a null (assuming the field will take it). In SQL you would do it thus:
NULLIF(fieldvalue,'')
which returns null if the fieldvalue='' or else the fieldvalue.
Otherwise you could try and default it to a single space thus:
isnull(Nullif(fieldvalue,''),' ')
Note the space between the second set of quotes. This basically says: If it's '', set it to null, then if it's null set it to ' '.
Let me know if this don't help.