Ir al contenido


Foto

[RESUELTO] Como Clonar una consulta a una tabla con datos binarios


  • Por favor identifícate para responder
5 respuestas en este tema

#1 ematrix

ematrix

    Member

  • Miembros
  • PipPip
  • 25 mensajes
  • LocationMExico

Escrito 29 agosto 2011 - 03:40

Bien estoy armando mi carnet de impresion

y ya logre realizar la consulta de dos tablas, pero para que se me facilite quiero clonarlo hacia

una sola tabla esta consulta desde Firebird

Es posible hacerlo.?

Una tabla es de datos a otra es de fotos binario de esto hago la consulta.

pero quiero pasarlo a otra tabla solo las que necesito y de ahi con el reporteador leo

los datos y de ahi mando a impresion

Espero me ayuden

Gracias




  • 0

#2 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 29 agosto 2011 - 04:15

Que tal ematrix, ¿que es lo que se facilitaría teniendo datos y blobs(imagenes) en una sola tabla?


Por SQL no he movido nunca blob's de datos, si no a través de una aplicación externa que lea estos y vuelva a insertar o actualizar el nuevo campo de mi tabla.


En lo particular he manejado firebird con blob's con documentación digitalizada y la base se carga mucho, llegué a tener como 6 GB de solo blob's y los respaldos de esta base se tardaban un poco y eran vari0s GB de datos cada vez.


Creo sería bueno si vas a tener varios datos de este tipo hacer una base de solo blob's que respaldes y mantengas por separado de los datos, claro esto solo lo vas a tener con firebird 2.5, es solo un consejo.


Saludos.










  • 0

#3 ematrix

ematrix

    Member

  • Miembros
  • PipPip
  • 25 mensajes
  • LocationMExico

Escrito 29 agosto 2011 - 05:10




Bien son credenciales tipo carnet en una tabla solo tengo los datos y en la otra las fotos esto lo diseñe asi para administrar mejor el rendimiento.

Despues los junto en una consulta. pero de una tabla de 15,000 registros solo quiero algunas es por eso que deseo crear una tabla temporal en donde guardar los datos y la foto, para despues imprimir los carnet's, aunque el modo terico sencillo pense que se podia con algunas instrucciones en Firebird co el insert Select, viendo claramente el problema tendre que hacer via aplicacion en c# es el que trabajo. y es lo la tendencia me esta marcando con tu aprecacion de este problema.

Saludos
  • 0

#4 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 30 agosto 2011 - 08:01

Mmm ya veo, te recomendaría hacer buen uso de el inner join y condiciones correctamente el query para no estar trayendo blobs que no vayas a utilizar, que que por el tamaño de los mismos hacen lenta muchas veces la traida de datos, checa por ahi alguna propiedades como el fetch del componente u objeto con el que realices la consulta para no barrer con todos los datos sino ir trayendo parte por parte, tal vez eso ayudaría un poco.


Saludos
  • 0

#5 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 30 agosto 2011 - 08:17

No se que componentes de conexión estés utilizando, no importa cuales sean, bien podrías adicionalmente utilizar la potencia de los TClienDatasets, que tienen la facilidad para ser clonados, o una vez  "traida" la consulta, tendrías la posibilidad de guardarla en el lado cliente en formato XML para ser usada cuando quieras sin necesidad de relanzar la consulta.


Saludos
  • 0

#6 ematrix

ematrix

    Member

  • Miembros
  • PipPip
  • 25 mensajes
  • LocationMExico

Escrito 12 octubre 2011 - 05:35

SOLUCIONADO

ya quedo despues de indagar

para los que desean aqui esta
[firebird]SET TERM ^ ;
CREATE PROCEDURE COPYBLOB (
    OLDROWID Varchar(9),
    NEWROWID Varchar(9) )
AS
begin
Update TMP_CREDE b
set b.FOTO_BLOB = (select first 1 a.FOTO_BLOB from FOTO_ALUM a where a.ID_MATRIX=:OldRowID)
where b.ID_MATRIX = :NewRowID;
end^
SET TERM ; ^
GRANT EXECUTE
ON PROCEDURE COPYBLOB TO  "PUBLIC";
GRANT EXECUTE
ON PROCEDURE COPYBLOB TO  SYSDBA;[/firebird]

Saludos
  • 0




IP.Board spam blocked by CleanTalk.