Я пытаюсь выполнить команду вставки в базу данных, и один из столбцов имеет тип nvarchar (MAX). Команда Insert создается с использованием класса .NET SqlCommand, и каждый из параметров представлен одним объектом SqlParameter.
Моя команда всегда выполняется, но когда я передаю строку большой длины (10000+ символов), которая используется в качестве значения для SqlParameter, сопоставленного столбцу типа nvarchar (MAX) после вставки, этот конкретный столбец остается пустым. Повторяю, исключение не генерируется, команда INSERT выполняется, но столбец пуст.
Следующие примеры показывают, как я пытался создать параметр:
// message is the large string variable
// first solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, -1);
// second solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length);
// third solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length * 2);
Ни одно из этих решений не дало результата. Если кто знает, в чем проблема, подскажите пожалуйста.
Я использую MS SQL Server 2008.
Заранее благодарим.