Buen Dia compañeros.
Recientemente ando con un proyecto donde tengo una base de datos en MySQL, estoy usando Tmysql con xharbour.
El tipo de campo que tengo es Blob, si pude hacer que me grabara las imagenes pero usando longblob, el problema de esto
es que al momento de hacer un respaldo de la base de datos y al querer restaurarla marca un error en la tabla donde se
encuentran las imagenes. Necesito saber como guardar imagenes en campos blob, ya que cuando uso el browser de Mysql
para editar la informacion no me muestras la imagen guardada solo el codigo binario de esta, en cambio si la guardo
directamente desde el browser de mysql si la muestra.
Por ejemplo aqui agregue una imagen directamente desde el browser de mysql, pero desde mi programa no se muestra la
imagen solo el codigo binario.
Necesito saber como convertir la imagen para poder guardarla y tambien como llamar la imagen una vez guardada.
Gracias de antemano, en caso de que ya exista esta informacion en el foro les pido una disculpa. Ya estube buscando en
en el foro y no encontre algo relacionado a esto.
Saludos.
¿Como se guardan imagenes en Mysql desde xharbour?
- GuillermoMtz
- Posts: 14
- Joined: Sat Sep 24, 2011 5:42 pm
- Location: Chihuahua, Chihuahua, Mexico
- Contact:
¿Como se guardan imagenes en Mysql desde xharbour?
_____________________________________________
NxTSolutions
Soluciones Integrales en Informatica
Sitio Web http://www.nxtsolutions.com.mx/
_____________________________________________
NxTSolutions
Soluciones Integrales en Informatica
Sitio Web http://www.nxtsolutions.com.mx/
_____________________________________________
Re: ¿Como se guardan imagenes en Mysql desde xharbour?
Hola Guillermo.
La forma en que estas guardando la imagen en un cambo Blob es facil, MySql lo hace en forma correcta.
El problema se presenta cuando haces un respaldo o restauracion de la tabla si usas el administrador de MySql.
Este problema lo resolvi, usando SqlYog, la forma en que se hacen los respaldos y las restauraciones en SQLyog es muy buena, solo que es de paga.
Para manejar las imagenes lo haces definiendo un campo memo y lo lees y lo escribes como tal.
Espero te sirve la infromacion.
Saludos
La forma en que estas guardando la imagen en un cambo Blob es facil, MySql lo hace en forma correcta.
El problema se presenta cuando haces un respaldo o restauracion de la tabla si usas el administrador de MySql.
Este problema lo resolvi, usando SqlYog, la forma en que se hacen los respaldos y las restauraciones en SQLyog es muy buena, solo que es de paga.
Para manejar las imagenes lo haces definiendo un campo memo y lo lees y lo escribes como tal.
Espero te sirve la infromacion.
Saludos
Visite Chiapas, el paraiso de México.
- GuillermoMtz
- Posts: 14
- Joined: Sat Sep 24, 2011 5:42 pm
- Location: Chihuahua, Chihuahua, Mexico
- Contact:
Re: ¿Como se guardan imagenes en Mysql desde xharbour?
Hola Devtuxtla.devtuxtla wrote:Hola Guillermo.
La forma en que estas guardando la imagen en un cambo Blob es facil, MySql lo hace en forma correcta.
El problema se presenta cuando haces un respaldo o restauracion de la tabla si usas el administrador de MySql.
Este problema lo resolvi, usando SqlYog, la forma en que se hacen los respaldos y las restauraciones en SQLyog es muy buena, solo que es de paga.
Para manejar las imagenes lo haces definiendo un campo memo y lo lees y lo escribes como tal.
Espero te sirve la infromacion.
Saludos
Gracias por la sugerencia pero no es la solucion que buscaba, el administrador de MySql si me esta haciendo los respaldos y restauracion correctamente
no eh tenido problemas con el, la imagen que guarde directamente desde el Browser Mysql la pude restaurar una vez que hice un respaldo de este, borrando
la base de datos para verificar de que sea asi. El problema es como convertir la imagen de manera que se almacene en la base de datos y poder hacer un
respaldo y restauracion sin ningun problema.
Ya estube navegando un poco mas por el foro y encontre esto:
http://forums.fivetechsupport.com/viewt ... 883#p76883
Pero no lo comprendi del todo bien si me pueden ayudar con un ejemplo se los agradeceria.
Algo asi es lo que tengo , usando un objeto image:
Code: Select all
Function cargar_image( limage,lnumero )
lvar:="gcFile"+lnumero
PUBLIC &lvar := cGetFile( "Bitmap (*.bmp)| *.bmp|" + ;
"DIB (*.dib)| *.dib|" + ;
"PCX (*.pcx)| *.pcx|" + ;
"JPEG (*.jpg)| *.jpg|" + ;
"GIF (*.gif)| *.gif|" + ;
"TARGA (*.tga)| *.tga|" + ;
"RLE (*.rle)| *.rle|" + ;
"All Files (*.*)| *.*" ;
,"Please select a image file", 4 )
if ! Empty( &lvar ) .and. File( &lvar )
limage:LoadImage(,&lvar ) // Carga la imgaen al objeto, y la muestra despues de refrescar
limage:refresh()
endif
lima:=memoread(&lvar)
wimagengrabar := limage:FILoadFromMemory(,&lvar ) // Supuestamente en el ejemplo que vi en el foro esto carga la imagen para poder guardarla pero me marca error
*Se graba la imagen en la carpeta temporal de imagenes
memowrit(curdrive()+":\"+curdir()+"\imagenes\"+lvar+".jpg",lima)
// Este es el query para guardar la imagen, son campos de tipo BLOB
dbfupd := eje_query("INSERT INTO ihisresu VALUES('ABCD',1,'ESTUDIO',1,1,"+lima+","+lima+","+lima+" ")
if dbfupd:lerror
msginfo('El Resultado no se pudo Guardar'+dbfupd:error())
endif
return nil
_____________________________________________
NxTSolutions
Soluciones Integrales en Informatica
Sitio Web http://www.nxtsolutions.com.mx/
_____________________________________________
NxTSolutions
Soluciones Integrales en Informatica
Sitio Web http://www.nxtsolutions.com.mx/
_____________________________________________