Кажется, есть ошибка в SQL Server Integration Services 2005, которая при определенных обстоятельствах преобразует строку нулевой длины в строку из одного символа, символ которой оказывается ансулиным, т.е. ноль символа ascii (обратите внимание, что это сильно отличается от нуля в sql).
Это происходит с одним из наших процессов загрузки данных, так что адресные строки, которые должны быть пустыми, содержат в себе эти символы.
Мы предоставляем эти данные через веб-сервисы, и данные сериализуются нормально. Нули даже удаляются стандартным XSL при просмотре ответа веб-службы через IE, однако при просмотре исходного кода вы можете видеть их:
Addr2="�"
Но когда вы вызываете эту службу из сгенерированного прокси .Net, вы получаете сообщение об ошибке:
"There is an error in XML document"
Это возможно потому, что значение null завершает документ и, следовательно, делает его недействительным.
Хотя мы можем изо всех сил стараться предотвратить их попадание в базу данных, есть ли способ предотвратить ошибку прокси-кода, когда эти значения присутствуют в ответе? На самом деле мы не хотим добавлять код во все наши веб-методы для их обнаружения и удаления.