Строковые данные усекаются при извлечении через sql datareader - PullRequest
2 голосов
/ 16 декабря 2010

Я использую устройство чтения данных для извлечения значений записей таблицы через хранимую процедуру .но при использовании datareader.getstring (2) для извлечения значения конкретного столбца возвращается строка усеченная (остаток getstrings возвращают полные значения).Кто-нибудь может направить меня в анализе этого?

Ответы [ 2 ]

2 голосов
/ 26 июля 2016

Строка данных XML усекается до 2033 символов при использовании объекта SqlDataReader. Чтобы решить эту проблему, используйте метод ExecuteXmlReader для чтения запросов FOR XML. Дополнительные сведения о том, как использовать ExecuteXmlReader с запросами SQL Server FOR XML https://support.microsoft.com/en-us/kb/310378 https://support.microsoft.com/en-us/kb/316701

0 голосов
/ 28 декабря 2018

Измените свою логику БД следующим образом,

Declare @xmldata xml
set @xmldata =(<your select query>  
FOR XML AUTO)
select @xmldata as returnXml

И читать столбец returnXml из c #, т.е. objReader [0]

...