Как я могу хранить более 4000 символов в параметре SQL Server?

Я пытаюсь передать XML который превышает 4000 символов, в хранимую процедуру. Я пытался использовать NTEXT , NVARCHAR(MAX) , VARCHAR(MAX) , VARCHAR(8000) и XML в качестве типа параметра, но всегда получаю ошибку:

System.Data.SqlClient.SqlException: Строковые или двоичные данные будут усечены. Заявление было прекращено.

Значение не сохраняется в таблице, это только переменная, которая выбрала данные из нее и затем хранится в таблицах.

Может ли ASP.NET не отправлять более 4000 символов в качестве параметра? Или есть параметр в SQL Server, который я могу отключить?

Благодаря,

Томас

РЕДАКТИРОВАТЬ:

Это работает с NTEXT . Я вошел в детали ошибки и обнаружил, какая строка SQL вызывала ошибку, и выяснилось, что для VARCHAR(50) который должен был быть VARCHAR(MAX) был полностью несвязанный столбец, который, как предполагается, исходил из 10000 символа XML но он был абсолютно не связан. Мои извинения.

Это ограничение в SQL Server во всех выпусках. Вы можете разбить xml на две переменные varchar и объединить их в хранимую процедуру. Это решение проблемы.

Разбейте XML в небольших кусках и назначьте их по отдельной переменной, а затем соедините их

DECLARE @ SQL1, @ SQL2

SET @ SQL1 = chunk1

SET @ SQL2 = chunk2

SET @ SQLn = chunkn

exec (@ SQL1 + @ SQL2 ….. + @ SQLn)

Кажется, есть несколько способов сделать это. Так я недавно об этом позаботился.

  • SQL-сервер запрашивает узлы, связанные с XML
  • Вставка динамической XML-хранимой процедуры
  • Студия sql не может видеть специальные символы в XML
  • Веб-сервис SQL Server 2008, устарел?
  • Переменная SQL Server в XML
  • Разделение значений XML с одинаковыми тегами на разные строки SQL Server
  • убедитесь, что узел xml имеет дочерний узел с заданным значением tsql
  • SQL SERVER xml с CDATA
  • Подзапрос возвратил более 1 значения с вставкой из XML
  • Изменение поля даты в документе XML, хранящемся в таблице SQL Server
  • Значение XML-обновления XML-узла
  • Interesting Posts

    Как я могу исправить имена корреляции в этом соединении sql?

    C # SQL INSERT не отображается в таблице базы данных «нет ошибок или исключений,

    Выполните поиск и замену на тысячи файлов Word, хранящихся в столбце varbinary базы данных SQL Server DB

    Неправильный синтаксис около 'GO'

    Как SQL Server обрабатывает одновременные запросы?

    Стандартная версия сжатия SQL Server 2008

    Изменить тип столбца от Char до Varchar на сервере sql

    Как включить оператор «OR» в SQL для «no value»

    Тайм-аут ожидания сервера SQL Server истек. Период ожидания, прошедший до завершения операции, или сервер не отвечает

    Как преобразовать NULL в SQL Server 2012 в пустое (n / a) значение в oracle с помощью Java

    Самый простой способ создать дату, которая является первым днем ​​месяца, учитывая другую дату

    динамический sql и как избежать специальных символов?

    LINQ и TranscationScope не работают

    Список всех индексов с включенными столбцами (без ключа)

    SQL Server: как выбрать несколько столбцов с одним столбцом?

    Давайте будем гением компьютера.