Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
Добрый день!

Возникла проблема, примерно неделю назад, до этого больше года все нормально работало. При вставке или изменении значения в поле типа varchar(max) данные усекаются без появления какой либо ошибки. Вставляется буквально одно слово. В чем может быть дело?
26 янв 18, 16:19    [21142295]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
r77
В чем может быть дело?
Дело в ошибке в коде.
Ну, или триггер меняет данные.
26 янв 18, 16:20    [21142299]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
alexeyvg,

триггера нет на таблице, ошибки в коде нет, он выполняется, просто INSERT INTO и т.д. Все проходит без ошибок, но вставляется символов 20 и все. Вставка происходит с одного сервера на другой.
26 янв 18, 16:25    [21142313]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
Таблицы и типы полей одинаковые на обоих серверах, на исходном сервере полный текст, после вставки одно слово...
26 янв 18, 16:27    [21142318]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
когда меняю тип на varchar(255) , то вставляется нормально. Ничего не усекается.
26 янв 18, 16:35    [21142334]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
После обновления ODBC драйвера у сервера на котором происходит вставка, стало работать на типе данных varchar(8000), на varchar(max) не работает по прежнему.
26 янв 18, 16:41    [21142345]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
r77
alexeyvg,

триггера нет на таблице, ошибки в коде нет, он выполняется, просто INSERT INTO и т.д. Все проходит без ошибок, но вставляется символов 20 и все. Вставка происходит с одного сервера на другой.

Странно. А настройку lazy schema validation не меняли?

А вообще народ говорит о мистике :-) https://stackoverflow.com/questions/13651680/linked-sql-server-and-update-a-varcharmax-is-truncated
26 янв 18, 16:43    [21142349]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
alexeyvg,

вот вот, та же ерунда....при чем все работало! Попробовать переустановить SQL Server?
26 янв 18, 16:45    [21142355]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
zasrfyj
Guest
Tabular Data Stream Protocol < 7.2 ?

https://msdn.microsoft.com/en-us/library/dd339982.aspx
26 янв 18, 16:47    [21142361]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
r77
Member

Откуда: Краснодар
Сообщений: 270
zasrfyj,

спасибо, попробую в этом направлении...
26 янв 18, 16:52    [21142376]     Ответить | Цитировать Сообщить модератору
 Re: Усечение значения в поле типа varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
r77
Попробовать переустановить SQL Server?
Скорее уж библиотеки доступа (и проверить сервис-паки)
26 янв 18, 22:50    [21143003]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить