![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Problema longitud stringlist.text
Hola amigos,
tengo un problema que me ronda ya 2 días y hace unos minutos encontré cual era la raíz del problema. Os pongo en situación: - Tengo una aplicación que realiza un proceso - Al terminar el proceso, debe mandar un correo a los usuarios con los resultados del proceso - Ese correo se guarda en una base de datos para que después un motor (servicio de windows que desarrolló hace una semana) lea esa tabla y envie el correo. Hasta aquí bien. - La tabla contiene los campos para mandar un correo: de, para, cc, cco, asunto y body entre otros. - Body es un CLOB en oracle. Ahí no hay problema, comprobado. - El valor del body se inserta en la tabla mediante un SP a través de una función genérica (para todos los SP que tengamos) que tambien va bien. - Pero ese body ahora mismo se manda a través de un StringList. - El programa genera el body en un memo y lo copia en el StringList para mandarlo al SP y que se guarda en la BD. Se manda al SP del siguiente modo: Mensaje.Text //mensaje es el StringList. Si el body es pequeño (500 carácteres o 50 lineas cifras aproximadas) no hay ningún problema. Pero tengo un caso particular en que el proceso dio muchos resultado y resulta que el stringlist contine unas 1700 lineas. Que no debería haber problemas para el CLOB (deben caber unos 2Gb). Cuando ese caso se da, y tengo más de 50 lineas, si debuggeo veo en mensaje.count = 50 o las que sean (1700 en el caso en concreto), y cuando asigno el mensaje.text al SP para mandar todo el contenido al CLOB me corta. Es decir, hago un debug y visualizo el valor de mensaje.text y no tiene más de 50 lineas. Podeis hacer la prueba a ver si ocurre lo mismo. He probado ha pasar todo el StringList a un TStringStream, pero a la hora de asignarlo al SP no se si hay otra manera que no sea usando DataString, ya que ocurre lo mismo. Que posible solución veis a mi problema. Uso Delphi 6 (por si es un bug de la versión) Saludos y gracias anticipadas. |
#2
|
||||
|
||||
dudo que sea el TStringList y te voy a decir por que:
Yo almaceno en una instancia de este objeto el XML que me genera un proceso, Este Xml me ha llegado a ocupar hasta 15,000 líneas y cuando lo paso al Sp no me corta la información. Yo uso Delphi 7 y SqlServer El código que uso es el siguiente:
__________________
Conoce mi blog http://www.edgartec.com |
#3
|
||||
|
||||
Muchas gracias poliburro por responder.
He hecho una prueba, con un fichero de más de 20.000 lineas lo he cargado en un StringList y luego lo recorro para meterlo en un Memo y no he tenido ningún problema. Ahora deduzco que el problema pueda ser entonces del Variant. Y me explico, la función genérica que usamos para ejecutar los SP los parámetros que se le pasan a la susodicha es un array de variants donde separados por comas se pasan los parámetros del SP. Entonces es problable que pueda venir por ahí el problema, y es que el variant tenga un límite y corte el blob que yo le estoy pasando. Si es así, no me quedará otra que modificar la función genérica y hacerla exclusivamente para mi SP pasándole por separado el campo Blob como parámetros, algo así:
¿Hay alguna sugerencia al respecto o algún tipo de dato que pueda usar en la función en lugar del TBlobStream? Cualquier sugerencia será bienvenida. Saludos y gracias |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con longitud de campo | Data4 | Tablas planas | 0 | 04-03-2007 00:51:43 |
Longitud Maxima Para Un Input->text | CARLOS E | HTML, Javascript y otros | 1 | 10-06-2006 00:10:05 |
TEdit Propiedad Text problema para cambiar | alucardo | OOP | 12 | 29-05-2006 16:12:08 |
Guardar lo que tengo en un Edit1.text y edit2.text en una base de datos firebird | jorgeluisc | Conexión con bases de datos | 1 | 23-04-2006 18:29:28 |
Limite del StringList | victork_py | Varios | 8 | 11-05-2004 22:19:11 |
![]() |
|