Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Помогите, срочно нужна помощь. Ситуация в следующем. Имеется база, первоначально созданная на 2000, при этом collation создатель не глядя оставил Latin1_General_CI_AS, соответственно все русские varchar'ы хранились в виде кракозябр, но конечная программа клиент это не замечала, она писала и она же читала. Collation базы создатель поменял на Cyrillic_General_CI_AS, а столбцы остались в Latin1_General_CI_AS.

Впоследствии ее перенесли на EXPRESS с collation на уровне сервера Cyrillic_General_CI_AS аттачем, после чего она спокойно там жила, программа продолжала работать по-старому.

Затем понадобилось перенести на другой EXPRESS. Раскатали точно такой же с таким же кириллическим COLLATION, приаттачили базу, все параметры серверов одинаковые, но теперь при вставке русских букв выдает String or binary data would be truncated.

Понимаю, что изначально конфигурация убогая, но в чем может быть причина того, что на исходном экспрессе все работает, а на новом такое....
21 июн 11, 14:34    [10847107]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Единственное отличие - на исходном Windows русская, а на новом английская, но языковые настройки и там и там одинаковые - русские. Уже не знаю, на что думать
21 июн 11, 14:45    [10847250]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
У ошибки "String or binary data would be truncated" причина одна - вы пытаетесь вставить в поле больше данных, чем туда влезает.
Ищите падающие запросы, и разбирайтесь, почему данные вдруг перестали помещаться в таблицы.
21 июн 11, 14:45    [10847253]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Гавриленко Сергей Алексеевич,

Программа не может ни с того ни с сего начать вставлять данные большего размера чем раньше. Все изменения - это перенос базы содного сервера на другой. При переносе обратно на старый вставки работают, но это не вариант, потому что сервер загибается, и с него надо слезть.
21 июн 11, 14:54    [10847353]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Уточняю - ввод данных не ручной, а автоматический
21 июн 11, 14:55    [10847362]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Интересно, а сколько еще отговорок вы сможете придумать, чтобы не лезть и не выяснять ваши кривые запросы и/или таблицы?
21 июн 11, 14:58    [10847396]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Гавриленко Сергей Алексеевич,

Запросы не мои, и они не кривые. Это автоматическая система контроля доступа. Включите логику. Я могу повторить - при возврате на исходный сервер все работает.
21 июн 11, 15:09    [10847499]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
mubarak,

Таблицы кривые, но их создавал не я. Вы сразу начали, априорно полагая, что дебил, и не понимаю смысла ошибки, поверьте, для этого у меня ума достаточно. Если нечего предложить конструктивно, не хамите.
21 июн 11, 15:11    [10847518]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
вставьте данные во временную таблицу и сравните максимальные длины полей
21 июн 11, 15:14    [10847565]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
как вариант у вас где числа храняться как строки, и вы вставлете число которое допустим влазит в тип данных - но уже не влазит в строку и получаете ошибку
21 июн 11, 15:16    [10847579]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Еще раз для Гавриленко и им подобных высоколобых "гуру" - Ввод данных идет автоматически с контроллеров, на исходном сервере вставки проходят, после аттача на новый - нет. При использовании исходного сервера вставки проходят. Какого рожна я должен терять время на исследования SQL-запросов в данном конкретном случае? Система-клиент не менялась.
21 июн 11, 15:17    [10847588]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mubarak
Таблицы кривые, но их создавал не я.
Серверу, в общем-то, по-барабану, кто создавал таблицы.
mubarak
Вы сразу начали, априорно полагая, что дебил,
Я этого не говорил, вы сами придумали.
mubarak
Если нечего предложить конструктивно, не хамите.
Если для вас взять профайлер, найти падающий запрос, посмотреть, что с ним или таблицей не так, не конструктивно, то могу предложить лишь нанять программиста.
21 июн 11, 15:18    [10847601]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Maxx,

Интересная зацепка, почему такое может быть -числовой формат? Где его смотреть?
21 июн 11, 15:19    [10847608]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
mubarak
Какого рожна я должен терять время на исследования SQL-запросов в данном конкретном случае?
мда...
ну идите помолитесь, раз исследовать не хочется
21 июн 11, 15:19    [10847609]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
mubarak
Еще раз для Гавриленко и им подобных высоколобых "гуру" - Ввод данных идет автоматически с контроллеров, на исходном сервере вставки проходят, после аттача на новый - нет. При использовании исходного сервера вставки проходят. Какого рожна я должен терять время на исследования SQL-запросов в данном конкретном случае?

потому что это самый простой способ найти источник проблем. запустите профайлер, посмотрите, какие данные идут на вставку
21 июн 11, 15:19    [10847615]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mubarak
Еще раз для Гавриленко и им подобных высоколобых "гуру" -
Начнете здесь обсуждать что-то кроме вашей проблемы (в том числе и "гуру"), и топик будет закрыт. Я вас предупредил.

mubarak
Ввод данных идет автоматически с контроллеров, на исходном сервере вставки проходят, после аттача на новый - нет. При использовании исходного сервера вставки проходят. Какого рожна я должен терять время на исследования SQL-запросов в данном конкретном случае? Система-клиент не менялась.
Найдите программиста, который сделает это за вас. Телепатов тут нет, чтобы угадывать по первым трем байтам, что у вас стряслось.

Сообщение было отредактировано: 21 июн 11, 15:22
21 июн 11, 15:20    [10847624]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Гавриленко Сергей Алексеевич,

Подскажите, как увидеть значения bind-переменных в профайлере
21 июн 11, 18:34    [10849773]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
mubarak
Гавриленко Сергей Алексеевич,

Подскажите, как увидеть значения bind-переменных в профайлере


Буду очень Вам благодарен, потому что без этого он бесполезен.
Если никак, то ваши советы насчет профайлера можете оставить.
21 июн 11, 20:59    [10850373]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mubarak
Гавриленко Сергей Алексеевич,

Подскажите, как увидеть значения bind-переменных в профайлере
Bind-переменные - это что? Какой вообще вызов в профайлере видно?
21 июн 11, 22:12    [10850604]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Гавриленко Сергей Алексеевич,

я имею ввиду, когда при вставке или update вместо цифр и литералов в values(...) пишется связываемая переменная @ИмяПеременной
Например, программа вставляет вот так:
INSERT INTO pLogData (ZReserv, Guid, NumCom, TimeVal, IDComp, Par1, Par2, Par3, Par4, Event, RazdIndex, HozOrgan, Remark, DoorIndex, ZoneIndex, ReaderIndex, Sign, Mode, DeviceTime,IndexKey, IndexZone, tpIndex, tpRzdIndex, VEvent) VALUES (@P1, NewID(), 149, @P2, 6, 6, 0, 49, 2, 28, 0, 191, @P3, 24, -1, 4102, 0, 2, @P4, 100675842, 4102,8,0,0)

Этот sql логируется и на стороне клиента, ибо Exception возникает, ну и в профайлере он же самый.

Узнать при помощи сооружения триггера понятное дело не получится, потому что Exception возникает на этапе StmtStarting. Хотя поскольку там SP:StmtStarting, значит используется код в хранимой процедуре, найти-то я ее найду, но в отлавливании реальных вставляемых значений это мне не поможет.
22 июн 11, 07:30    [10851299]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну а что вам мешает включить событие SQL:StmtStarting ?
22 июн 11, 07:51    [10851321]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
Guf
Member

Откуда: Новосибирск
Сообщений: 659
mubarak,

Ищите в профайлере вызов вашей процедуры SP:Starting Если процедура вызывалась с реалными значениями вы их увидите, что-то типа:
EXECUTE <имя процедуры> @P1 = 'бла-бла-бла', ...
Если же эта процедура вызывалась из другой процедуры, то придется пройти вверх по всему стеку вызова...
Или же можно на время поправить процедуру, убрав инсерт и выполнив её из студии.
22 июн 11, 07:54    [10851324]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
tpg,

Это я сделал первым делом, но SQL:StmtStarting ничего не выявляет, только при включении SP:StmtStarting увидел этот INSERT
22 июн 11, 08:00    [10851339]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
Может просто дело в параметрах соединения???
SET ANSI_WARNINGS ON
go

Declare @TST TABLE (TST VarChar(10))

INSERT INTO @TST
Values('12345678901234567890')

SELECT * from @TST
go

SET ANSI_WARNINGS OFF
go

Declare @TST TABLE (TST VarChar(10))

INSERT INTO @TST
Values('12345678901234567890')

SELECT * from @TST
go
22 июн 11, 08:03    [10851341]     Ответить | Цитировать Сообщить модератору
 Re: String or binary data would be truncated  [new]
mubarak
Member

Откуда:
Сообщений: 24
Guf
mubarak,

Ищите в профайлере вызов вашей процедуры SP:Starting Если процедура вызывалась с реалными значениями вы их увидите, что-то типа:
EXECUTE <имя процедуры> @P1 = 'бла-бла-бла', ...
Если же эта процедура вызывалась из другой процедуры, то придется пройти вверх по всему стеку вызова...
Или же можно на время поправить процедуру, убрав инсерт и выполнив её из студии.


Спасибо, SP:Starting был не включен. Попробую.
Но кроме того, я прошерстил все хранимые процедуры, не нашел этого INSERT'a. :(

Может ли быть так, что вставка выполняется не из хранимой процедуры, а из анонимного T-SQL блока?
22 июн 11, 08:04    [10851343]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить