FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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! |
#2
|
||||
|
||||
Cita:
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. |
#3
|
||||
|
||||
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. |
#4
|
||||
|
||||
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! |
#5
|
||||
|
||||
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. |
#6
|
||||
|
||||
Antes de que preguntes, mira este hilo.
|
#7
|
||||
|
||||
Cita:
Gracias!
__________________
Ya tengo Firma! |
#8
|
||||
|
||||
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. |
#9
|
||||
|
||||
Cita:
Saludos electrónicos
__________________
Ya tengo Firma! |
#10
|
||||
|
||||
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, |
#11
|
||||
|
||||
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
|
#12
|
||||
|
||||
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! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 | Adriadob | Firebird e Interbase | 11 | 31-10-2012 11:28:46 |
Manipular datos en FIREBIRD | pelikno | SQL | 1 | 02-05-2012 19:23:01 |
perdida de datos en base de datos firebird | gmontes | Firebird e Interbase | 7 | 14-02-2009 06:39:21 |
Herramienta case para diccionario de datos de base de datos firebird | mcalmanovici | Firebird e Interbase | 1 | 11-02-2007 15:17:37 |
Localizar datos con Firebird | joanajj | Firebird e Interbase | 5 | 06-06-2006 00:11:42 |
|