tamaño de campos

25/04/2006 - 09:04 por Oscar | Informe spam
Hola

me da el siguiente error al ejecutar la sentencia update:

"cannot create a row of size 8184 which is greater than the allowable
maximum of 8060". Los campos de sql que tengo son varchar de 8000, pero si
no me equivoco el tamaño máximo de un campo varchar es 8000, no se si van
por ahi los tiros, pero que campo puedo utilizar para que no me de este
error?

Saludos, Oscar
 

Leer las respuestas

#1 Alberto Poblacion
25/04/2006 - 09:39 | Informe spam
"Oscar" wrote in message
news:%
"cannot create a row of size 8184 which is greater than the allowable
maximum of 8060". Los campos de sql que tengo son varchar de 8000, pero si
no me equivoco el tamaño máximo de un campo varchar es 8000, no se si van
por ahi los tiros, pero que campo puedo utilizar para que no me de este
error?



Los varchar pueden medir hasta 8000 cada uno, pero hay una limitación
global para la suma de todos los campos del registro, que no pueden contener
en su conjunto más de 8060 caracteres en total. Si tienes dos campos de 8000
como máximo pero que contienen 100 cada uno, se pueden grabar sin problemas,
y si uno contiene 8000 y el otro 2, también. Pero si uno contiene 5000 y el
otro 4000, suman 9000 y no caben en los 8060 del registro.
En lugar de varchar puedes usar TEXT. Los campos de tipo TEXT se guardan
fuera del registro y por lo tanto no tienen limitaciones de longitud, pero
como contrapartida, al estar fuera resultan más lentos, y además tienen
muchas limitaciones en cuanto a las búsquedas que puedes hacer sobre ellos.
Si tienes la versión 2005 de SQL Server, también puedes usar
VARCHAR(MAX), que admite caracteres sin limitación de longitud, y admite
búsquedas igual que el VARCHAR(8000).

Preguntas similares