Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Si...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Siemrpe) 
 
Dado la escaza documentacion avanzada de gambas recurro a los foros, mi problema es que debo "obligatoriamente" rescatar el archivo desde DB, y colocarlo en fs, por cada vez que se requiera, para eso hize el siguiente codigo:


     Dim wtable As Result        ' virtualizacion en tabal del archivo CSV antes de meter en la tabal de BD
    Dim dummyquer As String     ' query para ingresar el usuario en la lista de enrolado
    Dim hres As Result          ' abstraccion de resultados desde DB despeus de ejecutar query
    Dim data As Variant         ' data del dedo a retornar del usuario, se coloca en fs para engañar a la lib
    
    Dim myFinger As Stream  ' TODO probando, remover e implementar fuera del modulo DB

   If isConected() == False Then
        getConeccionDB() ' no colocare codigo de esto, seria absurdo, asiq ue ya saben que hace
    Endif

    dummyquer = "SELECT count(cod_ficha) as existe, hex_huelladactilar FROM sysasis_listado_id WHERE cod_ficha LIKE '" & id & "'"
    wtable = hconn.Exec(dummyquer)  ' hconn lo obtengo de getconection
    data = wtable["hex_huelladactilar"]
            
            If Exist(User.Home &/ ".fprint/prints/0002/00000000/1") Then
                Kill User.Home &/ ".fprint/prints/0002/00000000/1"
            Endif
            myFinger = Open User.Home &/ ".fprint/prints/0002/00000000/1" For Write Create
            data.Data.Write  ' aqui mi problema, como puedo escribir el blob en fs????
            Close myFinger
 


el error es "no es un objeto"

otra cosa , la carga la hago con file.load, que no se si sea correcto.. quizas tambien deba realizarla con read/open... este es el codigo de carga:


    hconn.Begin
    wtable = hconn.Create("sysasis_enrolar_id")
    wtable!cod_ficha = id ' TIPNOM VARCHAR(60) Default Null, - - PK "
    wtable!hex_huelladactilar = File.Load(ruta_data_dactilar) ' BLOB -- la huella dactilar
    wtable.Update
    Try hconn.Commit
    
 


SI la carga noi debe ser asi , como podria hacerla con read/write?

OS: linux debian o venenux
gambas 3.4.0
ESCRITORIO: ninguno, lanzamientos xwindows por fb
COMPONENTES: gb.db, gb.gui, gb.data

NOTAS: el os, gambas etc no tiene nad que ver porsi alguno lanza alguna question referente, el problema es que no hay documentacion de flujo de datos y estoy escaso de ideas...

para los foristas, ayudarme en esta solucion seria punta de lanza  ya que estoy decidido a hacer cosas avanzadas que noto no existen en gambas.. la ayuda en google de gambas es escasa.. muy escaza especialmente en español..
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Siemrpe) 
 
Nunca lo he probado, pero sigo con detalle la discusión en el mail-list.

Cuando des con la solución publícala aquí, si eres tan amable.

Gracias.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Siemrpe) 
 
Tobi en gambas english send a solution.. pero parece que hay un bug en gambas donde en raros casos no exporta la data ...

Esto esta solventado en la version de gambas de VenenuX para solventarlo, tome el analisis realizado y modificare el gambas de VenenuX para que escape los exports en sqlite y postgres.. ya que mysql es para hacer cafeterias y agendas...

Despues de esto posteare la solucion a mano en la lista de venenuxsarisarinama
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Siemrpe) 
 
Ok. A falta de tu solución, esto es lo que Tobi posteó en el mailing list de Gambas.
La verdad es que era algo que tenía en mi eterna cola de espera...

db-blob-0.0.1.tar.gz
Descripción: Guardar y recuperar archivos binarios en un campo blob. Para sqlite en el ejemplo. 
Descargar
Nombre del archivo: db-blob-0.0.1.tar.gz
Tamaño: 5.97 KB
Descargado: 55 veces
db-blob-0.0.1.tar.gz
Descripción: Guardar y recuperar archivos binarios en un campo blob. Para sqlite en el ejemplo. 
Descargar
Nombre del archivo: db-blob-0.0.1.tar.gz
Tamaño: 5.97 KB
Descargado: 55 veces
db-blob-0.0.1.tar.gz
Descripción: Guardar y recuperar archivos binarios en un campo blob. Para sqlite en el ejemplo. 
Descargar
Nombre del archivo: db-blob-0.0.1.tar.gz
Tamaño: 5.97 KB
Descargado: 55 veces

 



 
última edición por shordi el Martes, 16 Julio 2013, 18:20; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Guardar Blob Desde DB En Fs (no Es Una Imagen, Es Un Binario Desconocido Siemrpe) 
 
@shordi, ese archivo no sirvio de nada.. el problema lo describi claramente, debido a que los desarrolladores de gambas son puro win-"mysql" no ven bases de datos de verdad, (super escalares y poderosas como postgres o aquellas que si siguen estandares como sqlite),

intente lo mismo usando postgres u odbc y tampoco sirve.. esto es porque mysql (teniendo en cuenta que es la base de datos windosera para los conversos perdidos) no usa escape string al dumpear data binaria.

Cabe destacar que funciona perfectamente con imagenes o cuado se rescata o guarda datos para un mismo registro, pero si itero entre varios, el siguiente registro es dumpeado con 0k en el sistema de ficheros..

Ejemplo:

1) tomo un archivo binario y lo guardo en DB, perfect..
2) borro el que estaba en fs (origen)
3) vuelvo enseguida rescatarlo desde la DB y coloco este en fs donde estaba el original
4) leo este fichero y perfecto todo bien
5) borro este fichero y tomo otro (uno distinto que fue colocado en el mismo lugar)
6) lo guardo en DB, tl cual hice con el primero
7) borro el que estaba (el segundo fichero original, que es similar al priemro en el mismo lugar)
8) rescato desde DB y lo coloco en el mismo lugar del primero o segundo
9) el fichero tiene 0k y en algunos casos guarda bien (cuando es similar al primero)

Benoit esta revisando a ver si es un bug, y no he probado aun el problema si fue resuelto en el trunk pero eso que citaste no sirve.

Misa3l anonimous soluciono de verdad, parciarlemte el poblema en la lista de desarrolladores privada de venenux ... la explicacion y la solucion al final:

https://groups.google.com/d/msg/ven...SM/389rhq-H3CMJ

NOTA: se debe estar inscrito para ver el tema, que no sean windoseros, no es una lista comun y silvestre.
 



 
última edición por mckaygerhard el Lunes, 11 Noviembre 2013, 21:05; editado 1 vez 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Puedo Guardar Una Imagen De Un Articulo? CanihoJR General 6 Jueves, 29 Octobre 2009, 03:20 Ver último mensaje
soplo
No hay nuevos mensajes Formas De Guardar Desde Un Listbox A La Ba... jj231089 Controles/Librerías/Componentes 3 Sabado, 26 Octobre 2013, 02:56 Ver último mensaje
Dani26
No hay nuevos mensajes Como Guardar Una Imagen En Sqlite En Un Ca... v3ctor Bases de Datos 9 Viernes, 01 Enero 2016, 14:55 Ver último mensaje
shordi
No hay nuevos mensajes [SOLUCIONADO] Guardar Una Imagen Concreta ... CanihoJR General 13 Miercoles, 11 Abril 2018, 20:11 Ver último mensaje
CanihoJR
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron