Site Column update error — The object has been updated by another user since it was last fetched.

I was trying to update a site column and kept receiving this error message. 

I had created this site column using the Webs web service's UpdateColumns method.  Actually, what I did was migrate site columns (a lot of them) from one site to another using the Webs web service.  Turns out that this caused a lot of odd problems, and I wouldn't recommend it unless you are extremely fastidious about the column definitions as you transfer them.  What I did was to take the results of GetColumns, iterate through the Field elements, take each element's InnerXml property and create a new Field element to pass to the UpdateColumns method on the other site. 

It turns out that what you get from GetColumns shouldn't necessarily be used to populate UpdateColumns.  For instance, the error above was caused by a Version="2" attribute on the column in question.  To determine the problem I created a new column using the standard ways through the interface and compared the definitions of the two.  The only difference was that pesky Version attribute.  Once I removed that from the original column's definition I could update it like any other column.

Leave a Reply