Al crear un TableAdapter en una aplicación de ASP.NET 2 usando Visual Web Developer 2005 Express, se establecen algunos límites que no son obvios a primera vista.

En un proyecto en el que trabajo tengo una base de datos en MySQL con un campo llamado Cuerpo que es de tipo longtext y está diseñado para que pueda almacenar varios párrafos de HTML.

Al crear el TableAdapter y el Business Logic uno nunca establece los tamaños de los campos, ya que la herramienta lo hace por uno mismo.

En mi caso, al insertar un registro mediante mi aplicación, el campo Cuerpo se truncaba, almacenando únicamente alrededor de 1000 o 1024 caracteres.

Mi primera idea fue ir a revisar mi tabla de MySQL, pero el límite no estaba ahí. En seguida fui a ver las propiedades de la tabla en el TableAdapter de mi aplicación:

Propiedades

Como puedes ver, el MaxLength del campo en cuestión estaba establecido en 60,000, así que tampoco estaba ahí el problema. Después de un rato de darle vueltas al asunto, se me ocurrió ver las propiedades de la sentencia que hacía el insert en la base de datos, la cual en mi ejemplo se llama InsertaEnvio. Solamente hay que seleccionarla y oprimir el pequeño botón con tres puntos:

TableAdapter

Se mostrará la ventana de propiedades de la sentencia SQL. Seleccioné el campo problemático, y noté que en la propiedad Size tenía un valor de 1024:

Tamano del campo

Listo, ahí estaba el error, solamente lo modifiqué a un valor lo suficientemente grande:

Tamano modificado

Salve el archivo xsd, probé nuevamente, y el problema desapareció.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


6 + ocho =