• Domingo 17 de Noviembre de 2024, 18:40

Autor Tema:  grabar imagen de foxpro via ODBC en postgres 9.0  (Leído 7050 veces)

magda1984

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
grabar imagen de foxpro via ODBC en postgres 9.0
« en: Lunes 18 de Julio de 2011, 22:27 »
0
hola amigos del foro...tengo un dilema desde hace una semana, estoy queriendo insertar desde mi aplicacion echa en foxpro una imagen en mi base de datos postgres 9.0 y aun no he podido resolverlo.....tengo un formulario de funcionarios la cual tiene cada funcionario una imagen y como son pocos entonces decidi guardar la imagen en la misma base de datos.....he probado insertar en un campo OID con las funciones lo_import pero no me funciona desde el cliente y si quiero probar desde el sql de pgadmin pero no me reconoce y luego cambie el campo a BYTEA ahi pude grabar sin utilizar el lo_import pero no se si estoy grabando la imagen o solo la ruta como dato binario, ya que si hago un select me trae el dato pero no logro visualizar la imagen...ojala y me puedan ayudar y que haya sido bien especifico todo lo que escribi... :flower:

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re:grabar imagen de foxpro via ODBC en postgres 9.0
« Respuesta #1 en: Lunes 18 de Julio de 2011, 22:57 »
0
Hola, bienvenida al foro. Revisa en la ayuda sobre STRTOFILE he intenta, con el valor que estás obteniendo de la base datos, crear el archivo.
Saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

magda1984

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re:grabar imagen de foxpro via ODBC en postgres 9.0
« Respuesta #2 en: Martes 19 de Julio de 2011, 00:04 »
0
holaaa...graciasss......siii ya lo intente con STRTOFILE pero no se como crear el archivo......

magda1984

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re:grabar imagen de foxpro via ODBC en postgres 9.0
« Respuesta #3 en: Martes 19 de Julio de 2011, 01:56 »
0
logre insertar la imagen en la base de datos con
vfile = createbynari(thisform.image1.picture)
sqlexec = (bd,'insert into empleados(foto) values(?vfile)

ahora el problema que tengo es al hacer el select que me trae la columna foto con dato GEN y la verdad que no se como extraer el dato que esta en el postgres...

magda1984

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re:grabar imagen de foxpro via ODBC en postgres 9.0
« Respuesta #4 en: Martes 26 de Julio de 2011, 23:02 »
0
ya logre solucionar mi problema despues de tanto leer y probar......yo se que a alguien le a de servir la solucion, las imagenes grabo en el campo BYTEA.....aqui les dejo:

1er paso,si se conectan por ODBC de postgres deben entrar en herramientas administrativas, luego ORIGENES DE DATOS ODBC, luego entran el en DSN DEL SISTEMA y dan doble click en el driver para configurar, ahi les aparece una ventanita y donde dice OPTIONS> DATASOURCE> PAGE2 >deben elegir BYTEA AS LO, esto sirve para que se pueda grabar los datos binarios dentro del campo BYTEA.

2do paso, utilizan este codigo para convertir a dato binario

vfile = CREATEBINARY(FILETOSTR(thisform.image1.Picture))
SQLEXEC(bd," INSERT INTO empleados(apellido,foto2) values('BOLA',?vfile)")

3er paso, el odbc de postgres tiene dos formas de conectarse una por ANSI y la otra por UNICODE, bueno utilizan uno de los dos para grabar y la otra para consultar, porq esto porq al consultar con la opcion selecciona q es BYTEA AS LO, trae mal los datos, entonces utilizo la otra opcion de conectarme sin utilizar la opcion BYTEA AS LO, entonces una vez seleccionada la imagen pongo en , THISFORM.IMAGE1.PICTUREVAL = CONSULTA.FOTO y podran visualizar la imagen sin ningun inconveniente.....espero que les sirva a las personas que deseen grabar sus imagenes o archivos en postgres desde foxpro....

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re:grabar imagen de foxpro via ODBC en postgres 9.0
« Respuesta #5 en: Miércoles 27 de Julio de 2011, 05:59 »
0
primeramente que bueno que encontraste como resolver tú problema, y segundo muchas gracias por compartir la solución.

Saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com