Как игнорировать исключение System.Data.SqlClient.SqlException: строка или двоичные данные будут обрезаны.исключение - PullRequest
3 голосов
/ 09 июня 2011

Я знаю, что мои данные слишком велики, и поэтому я получаю исключение. Однако это больше похоже на предупреждение. Есть ли в SQLCommand свойство, которое я могу установить, чтобы это было просто предупреждением и все равно вставляло усеченные данные? Попытка устранить все возможные вопросы, на которые можно было бы быстро ответить. Я не могу изменить размер столбца в базе данных SQL. У меня нет разрешения на это. Я хотел бы избежать перехода к каждой строке и говорить, если длина> х взять подстроку. Я просто хочу, чтобы это игнорировалось на командном уровне.

Ответы [ 2 ]

6 голосов
/ 09 июня 2011

Вы можете выполнить SET ANSI_WARNINGS OFF для подавления этого сообщения. Или вы можете использовать функции LEFT || RIGHT для усечения данных и передачи максимального количества символов в столбце.

0 голосов
/ 09 июня 2011

Вы можете отключить предупреждения ANSI и обойти это, но это означает, что для включения и выключения можно использовать команды цепочки, либо использовать хранимые процедуры.Я не изучил все параметры базы данных, но считаю, что это можно сделать только на уровне пакета.Даже если это можно сделать для всей базы данных, я не думаю, что это можно настроить для конкретной таблицы.И даже если это можно сделать для всей базы данных, это плохая идея.Лучше всего использовать настройку, в которой вас не волнует усечение.

По моему мнению, усечение и игнорирование - это плохой вариант, если только вы действительно не заботитесь о данных.И, если вас это не волнует, почему вы все равно сохраняете его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...