|
|
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Коллеги, доброго дня! Столкнулся с непонятным глюком. Пытаюсь вставить в некое поле таблицы наименование другой таблицы: Код: sql 1. 2. 3. В результате возникает ошибка "String or binary data would be truncated." Но весь прикол в том, что длина имени таблицы (строки, которую вставляю) - всего 20 символов, а длина поля таблицы, куда пытаюсь вставить - 35 символов. Сделал, вот так и "прокатило": Код: sql 1. 2. 3. Т.е., получается обрезал значение длиной 20 символов до 35 символов )))))) select LEN(sysobjects.name) возвращает 20. Как вообще такое может быть? Может, кто-то сталкивался с подобным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 16:48:55 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Just_Serg, а пробелы? Чудес не бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 16:52:45 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовJust_Serg, а пробелы? Чудес не бывает. Вот я про тоже, что не бывает чудес. Может, кто с таким сталкивался... Кстати, на другом сервере такой глюк не наблюдается - все отработало корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 16:54:26 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Just_Serg, len(вставляемое значение+'a')? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 16:59:57 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовJust_Serg, len(вставляемое значение+'a')? 21 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:04:41 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
А на таблице, поди, триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:10:23 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
<таблица>.<field> покажите реально какой тип данных у вас, случаем не varchar(35) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:11:40 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Konst_One<таблица>.<field> покажите реально какой тип данных у вас, случаем не varchar(35) ? да, именно varchar(35) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:17:49 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
а sysobjects.name тип sysname ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:19:57 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичА на таблице, поди, триггер? Нет, триггера нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:20:15 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Konst_Oneа sysobjects.name тип sysname Т.е., нужно перед вставкой привести к типу varchar? Странно, что все это работало уже десяток лет и вдруг сломалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:22:39 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
переносили базу на другой сервер с другим collation? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:27:53 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Konst_Oneпереносили базу на другой сервер с другим collation? давно никаких телодвижений с базами не было. Код: sql 1. помогло т.е. получается, что проверке перед вставкой SQL Server считает что LEN(sysobjects.name) != LEN(CAST(sysobjects.name as varchar)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:32:25 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
потому что sysname = nvarchar(128) и у вас есть объекты с именами в юникоде, для обычных английских наименований будет всё равно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:35:35 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Konst_Oneпотому что sysname = nvarchar(128) и у вас есть объекты с именами в юникоде, для обычных английских наименований будет всё равно Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 17:39:41 |
|
||
|
непонятный глюк с "String or binary data would be truncated"
|
|||
|---|---|---|---|
|
#18+
Konst_Oneпотому что sysname = nvarchar(128) и у вас есть объекты с именами в юникоде, для обычных английских наименований будет всё равноНе смущает, что https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql?view=sql-server-2017 Character data types that are either fixed-length, nchar, or variable-length, nvarchar, Unicode data and use the UNICODE UCS-2 character set. https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql?view=sql-server-2017 nvarchar [ ( n | max ) ] Variable-length Unicode string data. n defines the string length ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 18:14:57 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=152&tid=1689827]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 430ms |

| 0 / 0 |
