Título: JPG en bd MySQL? Publicado por: ferlucas en 28 Junio 2005, 21:08 pm En si es eso. Tengo que meter una imagen (JPG) dentro de un campo de una bd MySQL. El campo esta definido como MEDIUMBLOB.
Alquien puede darme una mano?. Saludos. Título: Re: JPG en bd MySQL? Publicado por: soplo en 29 Junio 2005, 13:28 pm Hola
Es un error meter imágenes en una base de datos. Lo correcto es guardar las imágenes en un directorio y guardar en la base de datos la ubicación de esa imagen. De esa forma solo guardas un string. Un saludo Título: Re: JPG en bd MySQL? Publicado por: ferlucas en 30 Junio 2005, 23:25 pm Hola Es un error meter imágenes en una base de datos. Lo correcto es guardar las imágenes en un directorio y guardar en la base de datos la ubicación de esa imagen. De esa forma solo guardas un string. Un saludo Encontre por otro lado la forma de hacerlo. Hice la comparacion. La base de datos me quedo de 78MB. El directorio con las imagenes es de 77MB. Viendo que es tan poca la diferencia, prefiero meter las imagenes dentro de la base de datos. De esta forma, ahorro en tiempo de back-up (al no tener que hacer 2 procesos por separado), si monto un sitio web con esa base de datos no tengo que subir las imagenes al server, si me borran las imagenes no hay problema (de hecho, al grabarlas se borran de HD), entre otros factores mas. Igualmente, agradezco tu opiñíon. Pero, a mi criterio, no es ningún error. Saludos y nuevamente, gracias. Título: Re: JPG en bd MySQL? Publicado por: sexiboymx en 1 Julio 2005, 22:20 pm hola!!!
pasa el dato como le hiciste ;D tengo pendiente un proyecto de catalogo de productos :-[ y quisiera hacer un intento con MySQL aver si puedo ??? Título: Re: JPG en bd MySQL? Publicado por: ferlucas en 6 Julio 2005, 16:32 pm hola!!! pasa el dato como le hiciste ;D tengo pendiente un proyecto de catalogo de productos :-[ y quisiera hacer un intento con MySQL aver si puedo ??? estuve medio perdido por eso no lo hice antes. Suelo escribir la solucion que encontre para poder ayudar a los que tengan el mismo problema. La verdad, es que no me fijo si es lo mejor o no, me fijo en que es lo que piden. Independientemente de mi criterio. Bueno... paso los codigos de como lo hice. Antes que nada, en la tabla de la bd MySQL debemos definir un campo como LONGBLOB (lo habia definido como BLOB pero me cortaba la imagen). Citar Para grabar las imagenes Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim ms As New ADODB.Stream cn.ConnectionString = "PROVIDER=MSDASQL.1;DRIVER={MySQL ODBC 3.51.06 Driver};SERVER=server_name_or_ip;DATABASE=db_name;UID=user_id;PWD=user_pass;OPTION=16427;" cn.Open Set rs.ActiveConnection = cn rs.CursorLocation = adUseClient rs.CursorType = 3 rs.LockType = 3 rs.Source = "SELECT * FROM tabla WHERE id=1" 'registro a modificar rs.Open ms.Type = adTypeBinary ms.Open ms.LoadFromFile (Path y nombre de la imagen) rs.Fields("imagen").Value = ms.Read rs.Update rs.Close ms.Close cn.Close Set ms = Nothing Set rs = Nothing Set cn = Nothing Citar Para leer la imagen 'En este caso, la mostramos en un PictureBox 'Lo que hacemos es generar una imagen.jpg temporal Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim ms As New ADODB.Stream cn.ConnectionString = "PROVIDER=MSDASQL.1;DRIVER={MySQL ODBC 3.51.06 Driver};SERVER=server_name_or_ip;DATABASE=db_name;UID=user_id;PWD=user_pass;OPTION=16427;" cn.Open Set rs.ActiveConnection = cn rs.CursorLocation = adUseClient rs.CursorType = 3 rs.LockType = 3 rs.Source = "SELECT * FROM tabla WHERE id=1" 'registro a modificar rs.Open ms.Type = adTypeBinary ms.Open ms.Write rsImg.Fields("imagen").Value ms.SaveToFile (Path y nombre de JPG temporal), adSaveCreateOverWrite Picture1.Picture = LoadPicture(Path y nombre de JPG temporal) Título: Re: JPG en bd MySQL? Publicado por: soplo en 7 Julio 2005, 14:50 pm Hola
Debo decir que me sigue pareciendo un mal camino. Nunca es recomendable insertar imágenes en registros de una base de datos. Una cosa es que se pueda hacer y otra es el rendimiento posterior. No acabo de verle la ventaja a tener una imagen en un campo de una base de datos o tener en ese campo un string que indica donde está la imagen que se quiere cargar. El resultado es el mismo, cuesta lo mismo y tal, pero bueno ... Un saludo |