Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Firebird e Interbase
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 13/02/2013
juanelo's Avatar
juanelo juanelo is offline
Miembro
 
Join Date: Sep 2007
Posts: 1,087
Poder: 21
juanelo Va por buen camino
Datos XML en Firebird

Que tal,
Antes que todo decirles que intenté por todos los medio conocidos por mi, usar el buscador del foro, pero no hubo manera que funcionara, siempre el mismo mensaje de error que no eran suficientes palabras para que el este funcione.
Pues les expreso mi duda, ¿en firebird 2.5.x hay forma de almacenar datos tipo XML?, ¿o la unica forma sería vía los BLOB?.
Me preocupa el hecho de usar BLOB ya que he oído por ahí que puede dejar muy lentas las consultas que involucren este campo.
Desde ya les agradezco su ayuda.
Gracias!
__________________
Ya tengo Firma!
Reply With Quote
  #2  
Old 13/02/2013
Al González's Avatar
[Al González] Al González is offline
In .pas since 1991
 
Join Date: May 2003
Posts: 5,619
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Quote:
Originally Posted by juanelo View Post
Antes que todo decirles que intenté por todos los medio conocidos por mi, usar el buscador del foro, pero no hubo manera que funcionara [...]
Hola Juanelo.

Hace tiempo que no te veía por aquí, que gusto leerte de nuevo.

No estoy al día con las últimas novedades de Firebird, pero no he visto que se mencione un tipo de campo XML en ese motor.

Respecto a cómo buscar, personalmente uso Google cuando quiero encontrar algo en los foros. Por ejemplo:

https://www.google.com/#hl=es&tbo=d&...clubdelphi.com

Teniendo Google bien catalogado a Club Delphi, ¿para qué usar el buscador del sitio?

Lo que dices de que un campo Blob puede generar lentitud, habría que ver quién dice eso y por qué lo dice. Muchas veces se trata de malas experiencias por falta de un adecuado manejo de la base de datos.

Saludos y un abrazo.

Al.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Reply With Quote
  #3  
Old 13/02/2013
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Hombre, para almacenar, depende de la longitud, si ocupa poco puedes usar el varchar(n) y si ocupan más entonces tendrás que usar BLOB, como en cualquier otra base de datos.

EDITO: veo que ha contestado Al González. Por cierto, las consultas de campos BLOB no deben ser lentas.
Reply With Quote
  #4  
Old 13/02/2013
juanelo's Avatar
juanelo juanelo is offline
Miembro
 
Join Date: Sep 2007
Posts: 1,087
Poder: 21
juanelo Va por buen camino
Gracias por sus respuestas, Al y Casimiro.
El tamaño medio de dichos XML es de 8ks cada uno, por lo que no creo que se pueda usar un campo VARCHAR. Me temo que el camino va a ser el BLOB.
Para terminar de abusar de su confianza, saben si este tipo de campo (BLOB) tiene alguna restricción en cuanto a caracteres contenidos, es decir, con "<", ">", "&", etc. (supongo que no, ya que deberían ser tratados como binarios según yo)
Gracias!
__________________
Ya tengo Firma!
Reply With Quote
  #5  
Old 13/02/2013
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Los BLOB en firebird tienen 2 "subtipos" principalmente, uno es el blob normal en el que almacenas "cualquier cosa" y el otro subtipo es el modo "texto", que como su nombre indica... es el indicado para tu caso.
Evidentemente, en ninguno de los tipos vas a perder caracteres.
Reply With Quote
  #6  
Old 13/02/2013
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Antes de que preguntes, mira este hilo.
Reply With Quote
  #7  
Old 13/02/2013
juanelo's Avatar
juanelo juanelo is offline
Miembro
 
Join Date: Sep 2007
Posts: 1,087
Poder: 21
juanelo Va por buen camino
Quote:
Originally Posted by Casimiro Notevi View Post
Los BLOB en firebird tienen 2 "subtipos" principalmente, uno es el blob normal en el que almacenas "cualquier cosa" y el otro subtipo es el modo "texto", que como su nombre indica... es el indicado para tu caso.
Evidentemente, en ninguno de los tipos vas a perder caracteres.
Te agradezco mucho la información, y pues a usar BLOBS tipo texto.
Gracias!
__________________
Ya tengo Firma!
Reply With Quote
  #8  
Old 13/02/2013
Al González's Avatar
[Al González] Al González is offline
In .pas since 1991
 
Join Date: May 2003
Posts: 5,619
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Quote:
Originally Posted by juanelo View Post
[...] y pues a usar BLOBS tipo texto.


Yo los uso para guardar facturas electrónicas (CFDIs), y hasta ahora cero problemas.

Por cierto, a veces conviene tener uno o dos campos más de tipo Integer, VarChar, etcétera, con datos "clave" del documento XML. En mi caso, por ejemplo, tengo el campo CFD Blob texto (para el XML), pero además otro llamado FolioCFDI VarChar, que contiene un número especial que también está dentro del XML. Esto porque a veces es necesario encontrar un registro por cierto dato del XML, así que tenerlo en un campo aparte, debidamente indexado, ayuda a hacer más eficientes las búsquedas.

Saludos.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Reply With Quote
  #9  
Old 13/02/2013
juanelo's Avatar
juanelo juanelo is offline
Miembro
 
Join Date: Sep 2007
Posts: 1,087
Poder: 21
juanelo Va por buen camino
Quote:
Originally Posted by Al González View Post


Yo los uso para guardar facturas electrónicas (CFDIs), y hasta ahora cero problemas.

Por cierto, a veces conviene tener uno o dos campos más de tipo Integer, VarChar, etcétera, con datos "clave" del documento XML. En mi caso, por ejemplo, tengo el campo CFD Blob texto (para el XML), pero además otro llamado FolioCFDI VarChar, que contiene un número especial que también está dentro del XML. Esto porque a veces es necesario encontrar un registro por cierto dato del XML, así que tenerlo en un campo aparte, debidamente indexado, ayuda a hacer más eficientes las búsquedas.

Saludos.
Muchas gracias por el consejo Al, de hecho este campo será usador en su totalidad cuando sea requerido y la busqueda del registro que contenga este XML es atravez de una llave entera, no se tiene algún dato (aún) por el cual valga la pena buscar dentro del XML.
Saludos electrónicos
__________________
Ya tengo Firma!
Reply With Quote
  #10  
Old 13/02/2013
Delphius's Avatar
[Delphius] Delphius is offline
Miembro Premium
 
Join Date: Jul 2004
Location: Salta, Argentina
Posts: 5,582
Poder: 28
Delphius Va camino a la fama
Firebird está diseñado para almacenar los campos blobs aparte de los campos normales. Esto le permite agilizar las demás operaciones sin verse afectado por el gran tamaño de los BLOBs. De modo que si para ciertas consultas no necesitas del campo BLOB, al recorrer el conjunto de datos se gana más velocidad... de hecho se comporta igual que cualquier consulta normal.
Sólo en el momento en que requieras hacer alguna operación sobre BLOBs Firebird "linkea" a estos. Aquí es donde puede haber cierta pérdida de velocidad.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Reply With Quote
  #11  
Old 13/02/2013
Chris's Avatar
[Chris] Chris is offline
Miembro Premium
 
Join Date: Apr 2007
Location: Jinotepe, Nicaragua
Posts: 1,678
Poder: 21
Chris Va por buen camino
Quote:
Originally Posted by juanelo View Post
Que tal,
Antes que todo decirles que intenté por todos los medio conocidos por mi, usar el buscador del foro, pero no hubo manera que funcionara, siempre el mismo mensaje de error que no eran suficientes palabras para que el este funcione.
La próxima vez pon en google: xml firebird site:clubdelphi.com. Desde hace años no uso el buscador de club, es muy improductivo
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Reply With Quote
  #12  
Old 13/02/2013
Chris's Avatar
[Chris] Chris is offline
Miembro Premium
 
Join Date: Apr 2007
Location: Jinotepe, Nicaragua
Posts: 1,678
Poder: 21
Chris Va por buen camino
A cómo te han dicho, lo mejor es que utilices el campo BLOB SUB_TYPE TEXT. Esto te permite utilizar las funciones de texto (SUBSTR, ATC, etc) sobre el contenido del campo. Seguro hay una ligera pena en el rendimiento, pero es poca.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Reply With Quote
  #13  
Old 13/02/2013
Al González's Avatar
[Al González] Al González is offline
In .pas since 1991
 
Join Date: May 2003
Posts: 5,619
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Quote:
Originally Posted by Chris View Post
La próxima vez pon en google: xml firebird site:clubdelphi.com.
Ah mira, qué buena idea. (mensaje 2 )
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31/10/2012 11:28
Manipular datos en FIREBIRD pelikno SQL 1 02/05/2012 19:23
perdida de datos en base de datos firebird gmontes Firebird e Interbase 7 14/02/2009 06:39
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11/02/2007 15:17
Localizar datos con Firebird joanajj Firebird e Interbase 5 06/06/2006 00:11


All times are GMT +2. The time now is 11:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi