Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
"String or binary data would be truncated." Как узнать что конкретно?
|
|||
|---|---|---|---|
|
#18+
Стандартная ситуация - при запросе вставки данные в каком-то поле обрезаются. Соответственно мне необходимо увеличить размер некоего поля. Но дело в том что в запросе таких полей сотни полторы (вот так получилось - не от меня зависит), а MS SQL весьма немногословен. Вопрос: как можно БЫСТРО узнать в каком КОНКРЕТНО поле происходит обрезание? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 05:43 |
|
||
|
"String or binary data would be truncated." Как узнать что конкретно?
|
|||
|---|---|---|---|
|
#18+
Если вставляется одна запись, то проще всего после insert'а проверить реальную длину строковых полей для этой записи. Там, где она равна объявленной в таблице, наиболее вероятно произошло усечение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 06:19 |
|
||
|
"String or binary data would be truncated." Как узнать что конкретно?
|
|||
|---|---|---|---|
|
#18+
Обычно я делаю Select Max(Len(Поле_1)),..., Max(Len(Поле_N)) FROM <то, что нужно вставить> Потом сравниваю с фактической длиной полей в таблице, в которую вставляются данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 08:18 |
|
||
|
"String or binary data would be truncated." Как узнать что конкретно?
|
|||
|---|---|---|---|
|
#18+
Я немного неполно выразился. Дело в том что вставка данных происходит по одной записи. Вот пример запроса на вставку: INSERT INTO PROPERTY(MLSID,[LAPID],[MLSNO],[COUNTY-ID],[APNO],[STAT],[STRNO],[STREET],[CITY],[ZIP],[CRSTS],[PRICE],[AREA],[MAPBK],[TGNO],[CENSUSTR],[ACRES],[LSQFT],[BEDRMS],[BATHS],[YRBLT],[TNAME],[TYPE],[STORIES],[OCCNM],[OCCPHAREA],[SOCOMP],[SHOW],[LSTDT],[TENYN],[POSS],[TYPAG],[LDR],[ADOM],[LOFNM],[LAGNM],[LOFNOAREA],[LOFNO],[VOICEAREA],[FAXAREA],[FAX],[LAGPHAREA],[LAGPH],[COLAGPHAREA],[EMAIL],[TRANDATE]) VALUES ('CASAC','SNATZJAM','S2201172','SA','115-0640-086-0000','A',8237,'VISALIA WAY','SACRAMENTO',95828,'AUBERRY',162000,10828,'T','338D6',.00,.120,'5357 SQ FT',3,2,1987,'COUNTRYSIDE','OTHER','1-ST','VACANT',916,'3','VA-LB','01/21/02','N','AGREE','ER','01/22/02',10,'RE/MAX CENTRAL','JIM NATZ',916,'498-7575',916,916,'498-7887',916,'498-7575',916,'JIM@JIMNATZ.COM','01/28/02') MS SQL сервер на запрос отвечает: Server: Msg 8152, Level 16, State 4, Line 1 String or binary data would be truncated. The statement has been terminated. А всего в таблице около двух сотен полей. Таким образом перебирать все поля и выяснять какое там поле оказалось маленьким тяжело. Как-нибудь можно заставить самого MS SQL сказать какое поле ему не нравится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 09:41 |
|
||
|
"String or binary data would be truncated." Как узнать что конкретно?
|
|||
|---|---|---|---|
|
#18+
1. Скопируйте текст в QA 3. При помощи Replace замените в первой строке "," на "'), COL_LENGTH ( 'PROPERTY' , '" 3. При помощи Replace замените во второй строке "," на "), datalength(" 4. Замените INSERT и VALUES на SELECT 5. Можно ещё вывести список полей и значений. Далее просматриваете список и ищете отличия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 10:37 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3510&tid=1824119]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
77ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 427ms |

| 0 / 0 |
