Я возвращаю статическую строку из хранимой процедуры (в SQL Server 2008), как показано ниже:
select 'abcdefgh.........xyz'
Если длина статической строки превышает некоторый предел (например, 8 КБ), тогда только частичная строка (например: 7 КБ) возвращается в приложения .net.
Хотя я пытался по-разному, например, присвоить статическую строку varchar(max)
и выбрать переменную, по-прежнему возвращается только частичная строка.
Я должен вернуть полную строку, которая может быть не более 5 МБ. Итак, основные проблемы:
- Какова максимальная длина строки, которую я могу вернуть из хранимой процедуры
- Как вернуть строку 5 Мб из хранимой процедуры в приложения .net.
Я прошу кого-нибудь помочь мне решить эту проблему.
пожалуйста, найдите код ниже
using (SqlCommand command = new SqlCommand(Source.GetExportRecordSP, Connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@CandidateRecordID ", SqlDbType.NVarChar, 32)).Value = record;
try
{
if (Connection.State != ConnectionState.Open)
{
Connection.Open();
}
using (SqlDataReader reader = command.ExecuteReader())
{
if(reader.Read())
{
xmlRecord = new XmlDocument();
xmlRecord.LoadXml(reader.GetString(0));
}
}
}
catch (Exception Ex)
{
Logging.WriteError(string.Format("Error while retrieving the Record \"{0}\" details from Database. Exception: {1} ", Ex.ToString()));
throw;
}
}
Заранее спасибо, гики.