![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Lo he probado casi todo...
He probado a restringir la consulta sql con un "select top 100 from poblacion where cod_provincia=@cod_provincia" y funciona perfectamente.
El problema sucede con solo determinadas provincias que tienen demasiadas poblaciones: asturias(cod_provincia='033'), galicia, etc. Con lo cual yo lo achaco a un problema de tamaño, y solo nos queda el widestring porque el dataset está claro que lo alberga. Estamos hablando de 20.000 o más registros devueltos en alguno de estos casos. Aparte ya he probado la consulta sola mostrándola en un DBGrid y aunque tardaba unos 12 seguntos, la mostraba bien. Como no sea un problema de la interface importada por el programa cliente... no se ya que pensar... Utilizo un programilla cliente de prueba que simplemente tiene un componente HTTPRIOR y importa la interface IQryTablas a partir del Wizar: File-->New-->Others -->WebServices-->WSDL Importer. Y a través del componente HTTPRIOR llama a la función fGetPoblaciones(codProvincia) guardando el resultado en un fichero .xml. ....................... GrabarFichero(nomFichero,(HTTPRIO1 as IQryTablas).fGetPoblaciones (codProvincia)); Y funciona siempre excepto para ciertos "codProvincia". Por eso me gustaría saber si alguien ha trabajado con grandes volúmenes de datos que ha de devolver un webservices. |
|
#2
|
||||
|
||||
|
Más o menos de que tamaño en bytes tiene el archivo xml devuelto, fijate que puede ser demaciado grande y que por ende el tiempo de espera se aumente.
Podrías talvez, utilizar otro método como por ejemplo utilizar una consulta normal y luego que el cliente convierta esa consulta a un tabla xml. Saludos. |
|
#3
|
|||
|
|||
|
El problema está claro: intenta meter en un contenedor de caracteres más caracteres de los que puede albergar(2GB) dentro de un bucle while not eof, con el consiguiente "cuelgue" del programa. Necesito una tipo de datos que almacene texto, caracteres (es lo que tengo que devolver, xml) y que sea capaz de albergar más de 2 GB(más que un WideString o PWideChar) en Delphi 7.
Podéis probar vosotros mismos a intentar meter en nodos xml dentro de un tipo Wide String, unos 15000 registros que devuelve una tabla, teniendo en cuenta que cada uno de los campos de un registro representaría un nodo diferente. Así pues sería algo como sigue el xml: <listadoTabla> <registro1><campo1/></registro1> ....</listadoTabla> No es muy dificil de imaginar que el xml resultante de hacer esto con 5000, 10000 o más registros se exceda de la capacidad de 2GB del WideString. Y bien, este es mi problema... Se aceptan sugerencias Última edición por LauraAS fecha: 08-11-2007 a las 14:58:44. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capacidad de una tabla en SQL | pablofbc | SQL | 1 | 14-06-2006 03:53:16 |
| Parser XML desde una variable WideString | cahern4 | Internet | 0 | 07-05-2005 00:04:49 |
| Capacidad de Paradox | irvingcm | Tablas planas | 3 | 13-04-2005 00:41:59 |
| Capacidad QReport | marila | Impresión | 4 | 05-05-2004 16:22:06 |
| Capacidad del QReport | marila | Impresión | 2 | 22-04-2004 16:02:47 |
|