|
|
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, то в SQL Server стоит ограничение на 8000 символов. Так получилось, что в базе хранятся значения, превышающие 8000 символов (не знаю как уж так получилось). Импортируется все в XLS - файлик нормально. А вот из ХLS в базу обратно - хрен. Как с этим можно разгребстись?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:39:00 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
стоит ограничение на 8000 символов БРЕД... Какой тип данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:45:21 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
nvarchar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:50:38 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Размер одной записи не может превышать 8К. Размер содержимого одного поля также не может превышать 8К, за исключением TEXT и IMAGE. А вот записаться более 8К в одну запись (не в Text или Image) ну никак не могло. Это ограничение связано с размером страниц/экстентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:52:24 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Размер одной записи не может превышать 8К. Размер содержимого одного поля также не может превышать 8К, за исключением TEXT и IMAGE. А вот записаться более 8К в одну запись (не в Text или Image) ну никак не могло. Это ограничение связано с размером страниц/экстентов. И еще - в чем, собственно, "хрен" заключается? Ругательство - на бочку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:53:42 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
для nvarchar 4000 символов лимит читай BOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:54:13 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
ну пускай 4000 символов, я ж не считал.. а вот как уж так получилось, я не знаю, я недавно устроился на эту работу, а база у них уже года два пополняется.. х*?н заключается в том, что при импортировании ч/з Enterprise Manager выдается ошибка, дескать шибко большое значение в таком то месте.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 18:00:43 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
А в XLS значения кто-нибудь изменял? Чтобы стало понятно, о чем я, рассмотрим пример. Имеется таблица с полями Fld1 и Fld2, у обоих тип varchar(8000). В одной записи этой таблицы может сохраниться, к примеру: 1. В первое поле значение максимальной длины, во второе - пустая строка. 2. В первое поле пустая строка, во второе - максимальной длины. 3. В первое поле строка в 4000 символов, и во воторое тоже 4000 символов. И т.д. Ошибки не будет. Но если вы попытаетесь сохранить и в первом поле значение в 8000байт, и во втором, то получите ту самую ошибку, о которой вы упоминаете. Потому что суммарный размер записи в этом случае получится 8000+8000=16000байт. А максимальный размер записи - 8096 байт. Как обойти? Либо вместо varchar использовать text, либо не пытаться одновременно во все поля запихать значения, суммарный размер которых превышает 8096 байт. Кстати, когда вы создаете таблицу, у которой суммарный размер значений полей в одной записи потенциально может превысить (а может и не превысить) 8096 байт, SQL-сервер выдает об этом предупреждение. Дело разработчика - реагировать на него или нет. Если разработчик уверен, что с клиента никогда не будет отправлена комбинация значений полей, превышающая 8096 байт, он имеет полное моральное право проигнорировать данное предупреждение. А ежели не уверен, то игнорировать права морального у него нет, поскольку всегда нужно расчитывать на то самое худшее, что с вами и случилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 18:16:52 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Вообще-то, 8060 это максимум, согласно сообщениям сервера, а реально и того меньше из-за storage overhead'a. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 18:26:34 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Брякнул по памяти - чуток ошибся :). Главное - суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 18:30:57 |
|
||
|
Можно ли обойти ограничения на размеры полей таблицы в SQL Server'e??
|
|||
|---|---|---|---|
|
#18+
Даа, хитрая система.. Кстати, когда вы создаете таблицу, у которой суммарный размер значений полей в одной записи потенциально может превысить (а может и не превысить) 8096 байт, SQL-сервер выдает об этом предупреждение. Дело разработчика - реагировать на него или нет. Если разработчик уверен, что с клиента никогда не будет отправлена комбинация значений полей, превышающая 8096 байт, он имеет полное моральное право проигнорировать данное предупреждение. А ежели не уверен, то игнорировать права морального у него нет, поскольку всегда нужно расчитывать на то самое худшее, что с вами и случилось. проблема в том, что об этом не позаботился человек до меня, а расхлебывать енто мне.. как бы так теперь незаметно все в text переконвертить??.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 18:49:46 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32056463&tid=1819765]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 348ms |

| 0 / 0 |
