Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cannot create a row of size 8065 
:(
    Опции темы
Competitor
Дата 21.11.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 23.3.2005
Где: Tula

Репутация: нет
Всего: -1



Кто-нибудь сталкивался с такой бедой, что при выполнении update поля емкостью 8060 новой записью емкостью 7984 возникает вот такая шокирующая ошибка:
Cannot create a row of size 8065 which is greater than the allowable maximum of 8060
PM MAIL WWW   Вверх
Dremlin
Дата 21.11.2006, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Quo vadis?
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 21.9.2006
Где: Киев

Репутация: нет
Всего: 4



а чего тут собственно шокирующего? smile 

Код

The maximum number of bytes per row is 8,060. If you create tables with varchar, nvarchar, or varbinary columns in which the total defined width exceeds 8,060 bytes, the table is created, but a warning message appears. Trying to insert more than 8,060 bytes into such a row or to update a row so that its total row size exceeds 8,060 produces an error message and the statement fails.

CREATE TABLE statements that include a sql_variant column can generate the following warning:

The total row size (xx) for table 'yy' exceeds the maximum number of bytes per row (8060). Rows that exceed the maximum number of bytes will not be added.
This warning occurs because sql_variant can have a maximum length of 8016 bytes. When a sql_variant column contains values close to the maximum length, it can overshoot the row's maximum size limit.

--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются...
PM MAIL   Вверх
Competitor
Дата 21.11.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 23.3.2005
Где: Tula

Репутация: нет
Всего: -1



И каким образом теперь можно решить эту проблему?
PM MAIL WWW   Вверх
Dremlin
Дата 21.11.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Quo vadis?
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 21.9.2006
Где: Киев

Репутация: нет
Всего: 4



1. Менять структуру базы (вместо varchar, nvarchar, or varbinary пользовать text, ntext, or image).
2. Урезать хранимые данные.
--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются...
PM MAIL   Вверх
cra6
Дата 8.9.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.12.2007

Репутация: нет
Всего: 2



Прочитал такое на мсдн
A table can contain a maximum of 8,060 bytes per row. In SQL Server 2005, this restriction is relaxed for tables that contain varchar, nvarchar, varbinary, sql_variant, or CLR user-defined type columns. The length of each one of these columns must still fall within the limit of 8,000 bytes; however, their combined widths can exceed the 8,060-byte limit. This applies to varchar, nvarchar, varbinary, sql_variant, or CLR user-defined type columns when they are created and modified, and also to when data is updated or inserted. 

но некотоорое время назад получал ошибку 
Cannot create a row of size 8111 which is greater than the allowable maximum of 8060. на 2005 сервере.
 и как было обнаружено именно изза варчаров...(скрипт переделывал варчары в нварчары.Ошибка исчезла после удаления некоторого числа столбцов.) smile 
Может кто то обьяснить в чём дело?

Это сообщение отредактировал(а) cra6 - 9.9.2010, 01:11
PM MAIL   Вверх
kobra
Дата 8.9.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



nvarchar(max)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.