Insertar imagen MySQL desde PC remoto

Moderador: yalmar

Foro cerrado salvo peticion.

Insertar imagen MySQL desde PC remoto

Notapor Ithilien » Vie May 04, 2007 10:59 am

Hola,

tengo el problema de que estoy trabajando con MySQL y tengo que insertar y recuperar imágenes de la base de datos desde distintos PC's, pueto que se trata de una aplicación distribida. El problema está en que no sé como hacer la inserción de una imagen desde el PC remoto a la base de datos. Probé con LOAD_FILE, pero he leido que el archivo ha de estar en el servidor.

A ver si alguien pudiera ayudarme, gracias.

Saludos!

P.D.: Por si sirve, el código que tenía era: Salvar la imagen jpg en un archivo temporal bmp y luego cargarlo con LOAD_FILE en la propia sentencia de inserción:

Código: Seleccionar todo
  1.  

  2.                         //Se carga la imagen

  3.                         TJPEGImage *j = new TJPEGImage;

  4.                         j->LoadFromFile( OpenPictureDialogo->FileName );

  5.                         j->DIBNeeded();

  6.  

  7.                         //Se asigna a un fichero

  8.                         Graphics::TBitmap *b = new Graphics::TBitmap();

  9.                         b->Assign(j);

  10.                         b->SaveToFile("C:\\temp.bmp");

  11.                         delete b;

  12.                         delete j;

  13.  

  14.                         //Se crea la sentencia SQL de inserción

  15.                         insercion = "INSERT INTO planta VALUES ("+ id +",LOAD_FILE('C:\\\\temp.bmp'))";

  16.                         MyTablaPlanta->SQL->Clear();

  17.                         MyTablaPlanta->SQL->Add(insercion);

  18.                         MyTablaPlanta->Execute();

  19.  

  20.                         unlink("C:\\temp.bmp");

  21.  

  22.  



Saludos y gracias!!
Ithilien
Novato
Novato
 
Mensajes: 2
Registrado: Mar Dic 19, 2006 12:32 pm


Re: Insertar imagen MySQL desde PC remoto

Notapor Mafesa83 » Sab Feb 16, 2008 5:11 pm

El detalle de tu codigo es que lo estas mandando a llamar de forma local y le das la ruta de un HD local

"INSERT INTO planta VALUES ("+ id +",LOAD_FILE('C:\\\\temp.bmp'))";

en esta sección le dices que lo guarde en el servidor y lo guarda ahi.
y a la hora de la ejecucion no lo llama del servidor sino de tu HD cliente... es mejor tener una carpeta comparitda a asignale una IP para a la hora de la ejecucion
mande a llamar el archivo del servidor y no del HD cliente.

ej. "INSERT INTO planta VALUES ("+ id +",LOAD_FILE('182.64.12.3//images\\\\temp.bmp'))";
Corporativo de Servicios y Sistemas Profesionales
LC. Mauricio Felipe Sanchez Feria
Mafesa83
Usuario Activo
Usuario Activo
 
Mensajes: 61
Registrado: Lun Mar 26, 2007 2:12 pm
Ubicación: Tabasco-Mexico



    

Volver a C++ Builder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado