Мы преобразовали базу данных с SQL Server 2000 на SQL Server 2014. Нам нужен вывод XML и использовать параметр for xml explicit
T-SQL для возврата XML.Различные значения, возвращаемые SQL Server 2000 и SQL Server 2014 при возврате результатов, используя для явного выражения xml
Величина метки сохраняется во время преобразования. т. е. обычный запрос возвращает значение метки времени 0x00000000057A12B8
на обоих серверах.
При использовании для XML явного SQL Server 2014 вывод <Ts>AAAAAAV6Erg=</Ts>
и 2000 выходом SQL Sever является <Ts>91886264</Ts>
Может кто-нибудь объяснить разницу?
Большое спасибо за подробный ответ и примеры. Наше приложение использовало SELECT ... FOR XML EXPLICIT в дни версии .NET Framework 1.0 (или около того), когда классы DataSet и ADO.NET не предлагали нам большую помощь при составлении карт O/R. С тех пор мы смотрели и флиртовали с различными версиями Entity Framework с интересом, но без этого достаточно убедительно, чтобы использовать его. Однако, с переходом на SQL Server 2014, возможно, мы найдем EF7 подходящим. Тем не менее, мне нравится XML, хотя я чувствую себя немного старомодным, говоря это. Я согласен с вашим комментарием о SELECT .. FOR XML PATH ('xyz'). –
В конечном итоге мне удалось вставить грубую прокладку и использовать Convert.FromBase64String() для получения байтового массива и BitConverter.ToUInt64(), чтобы получить данные в том же виде, что и старый XML-сервер SQL Server 2000 –