Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e?? / 11 сообщений из 11, страница 1 из 1
08.10.2002, 17:39:00
    #32056448
Van
Van
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Насколько я понял, то в SQL Server стоит ограничение на 8000 символов.
Так получилось, что в базе хранятся значения, превышающие 8000 символов (не знаю как уж так получилось). Импортируется все в XLS - файлик нормально.
А вот из ХLS в базу обратно - хрен.
Как с этим можно разгребстись??
...
Рейтинг: 0 / 0
08.10.2002, 17:45:21
    #32056453
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
стоит ограничение на 8000 символов
БРЕД...
Какой тип данных?
...
Рейтинг: 0 / 0
08.10.2002, 17:50:38
    #32056460
Van
Van
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
nvarchar
...
Рейтинг: 0 / 0
08.10.2002, 17:52:24
    #32056461
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Размер одной записи не может превышать 8К. Размер содержимого одного поля также не может превышать 8К, за исключением TEXT и IMAGE. А вот записаться более 8К в одну запись (не в Text или Image) ну никак не могло. Это ограничение связано с размером страниц/экстентов.
...
Рейтинг: 0 / 0
08.10.2002, 17:53:42
    #32056463
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Размер одной записи не может превышать 8К. Размер содержимого одного поля также не может превышать 8К, за исключением TEXT и IMAGE. А вот записаться более 8К в одну запись (не в Text или Image) ну никак не могло. Это ограничение связано с размером страниц/экстентов.

И еще - в чем, собственно, "хрен" заключается? Ругательство - на бочку.
...
Рейтинг: 0 / 0
08.10.2002, 17:54:13
    #32056465
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
для nvarchar 4000 символов лимит
читай BOL
...
Рейтинг: 0 / 0
08.10.2002, 18:00:43
    #32056474
Van
Van
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
ну пускай 4000 символов, я ж не считал..

а вот как уж так получилось, я не знаю, я недавно устроился на эту работу, а база у них уже года два пополняется..

х*?н заключается в том, что при импортировании ч/з Enterprise Manager выдается ошибка, дескать шибко большое значение в таком то месте..
...
Рейтинг: 0 / 0
08.10.2002, 18:16:52
    #32056486
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
А в XLS значения кто-нибудь изменял?
Чтобы стало понятно, о чем я, рассмотрим пример. Имеется таблица с полями Fld1 и Fld2, у обоих тип varchar(8000). В одной записи этой таблицы может сохраниться, к примеру:
1. В первое поле значение максимальной длины, во второе - пустая строка.
2. В первое поле пустая строка, во второе - максимальной длины.
3. В первое поле строка в 4000 символов, и во воторое тоже 4000 символов.
И т.д. Ошибки не будет. Но если вы попытаетесь сохранить и в первом поле значение в 8000байт, и во втором, то получите ту самую ошибку, о которой вы упоминаете. Потому что суммарный размер записи в этом случае получится 8000+8000=16000байт. А максимальный размер записи - 8096 байт.
Как обойти? Либо вместо varchar использовать text, либо не пытаться одновременно во все поля запихать значения, суммарный размер которых превышает 8096 байт.
Кстати, когда вы создаете таблицу, у которой суммарный размер значений полей в одной записи потенциально может превысить (а может и не превысить) 8096 байт, SQL-сервер выдает об этом предупреждение. Дело разработчика - реагировать на него или нет. Если разработчик уверен, что с клиента никогда не будет отправлена комбинация значений полей, превышающая 8096 байт, он имеет полное моральное право проигнорировать данное предупреждение. А ежели не уверен, то игнорировать права морального у него нет, поскольку всегда нужно расчитывать на то самое худшее, что с вами и случилось.
...
Рейтинг: 0 / 0
08.10.2002, 18:26:34
    #32056499
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Вообще-то, 8060 это максимум, согласно сообщениям сервера, а реально и того меньше из-за storage overhead'a.
...
Рейтинг: 0 / 0
08.10.2002, 18:30:57
    #32056502
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Брякнул по памяти - чуток ошибся :). Главное - суть.
...
Рейтинг: 0 / 0
08.10.2002, 18:49:46
    #32056509
Van
Van
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
Даа, хитрая система..

Кстати, когда вы создаете таблицу, у которой суммарный размер значений полей в одной записи потенциально может превысить (а может и не превысить) 8096 байт, SQL-сервер выдает об этом предупреждение. Дело разработчика - реагировать на него или нет. Если разработчик уверен, что с клиента никогда не будет отправлена комбинация значений полей, превышающая 8096 байт, он имеет полное моральное право проигнорировать данное предупреждение. А ежели не уверен, то игнорировать права морального у него нет, поскольку всегда нужно расчитывать на то самое худшее, что с вами и случилось.
проблема в том, что об этом не позаботился человек до меня, а расхлебывать енто мне..

как бы так теперь незаметно все в text переконвертить??..
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e?? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]