SQL Server Performance

Insercion de Imagenes en sql

Discussion in 'Preguntas sobre SQL Server en Español.' started by carlitosweb, Jan 23, 2005.

  1. carlitosweb New Member

    Saludos a Todos de Nuevo.

    Como puedo insertar una imagen en un campo de una tabla
    se que existe el tipo de datos image pero no se como usarlo.

    La idea es guardarlo y despues recuperar la informacion
    la aplicacion la tengo en VB si alquien me podria ayudar
    estaria muy agradecido.

    Bueno hasta lo q me puedan ayudar een sql supongo pero si
    me dan la ayuda completa lo agradeceria el doble

  2. Luis Martin Moderator

    Los campos de una tabla pueden ser definidos como image ( de la misma forma que varchar, por ejemplo). Esto campos te permiten almacenar imágenes con algunas limitaciones.

    Te sugiero leer el Manual on line que viene con las herramientas de SQL para conocer los detalles de su implementación.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  3. carlitosweb New Member

    Disculpa de nuevo pero la verdad q la ayuda de sql server ya la revise y no me ayuda mucho podrias darme un ejemplo de insercion de imagenes o en todo caso me podrias decir donde una pagina web que contenga manuales gratuitos sobre este tema . Muchas gracias, creo q voy a estar molestando en el forum mas seguido.
  4. Luis Martin Moderator

    La mejor manera de manejar imágenes en SQL es crear las tablas con el campo Image, y almacenar en lugar de la imagen en si, la dirección (tipo c:...) del directorio en donde se encuentra la imagen o las imágenes.
    De esta forma no sobrecargas el tamaño de la base.

    Te sugiero leer el siguiente documento:

    http://www.microsoft.com/technet/tr...rodtechnol/sql/reskit/sql2000/part3/c1161.asp



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  5. fjac_pe New Member

    Tambien tengo una consulta, tengo una imagen en c:imagesing.jpg o en el formato que sea, como puedo insertar esa imagen desde el analizador de consultas?, indicaron que en la base de datos se guarda como un tipo binario, y como podria hacer que se recupere esa informacion en un select para ser llevado a un reporte, porque el guardar la direccion de imagen es bueno pero cuando uno hacer un reporte, digamos de un listado de planillones de personal donde se visualiza la foto del trabajador, si imprimo 1 si lo puedo hacer, porque al objeto imagen le indico el archivo que cargara en crystal pero si se tratase de un listado de fotos y pagos, mejor seria tenerlo en la bd, como realizo eso?, es mas, estamos asumiendo que tendremos una base de datos donde guardare un id tipo int y la foto almacenada en otro campo, me comprendes?
  6. c_maldon Member

    Generalmente esto se hace desde las aplicaciones,
    yo desde Query analyzer lo hago asi, pero solo para
    tareas de mantenimiento, inicio o de prueba,
    seguro hay otras formas mas elegantes:

    CREATE TABLE TablaEmpleado
    (
    nIdEmpleado int NOT NULL
    CONSTRAINT Pk_TablaEmpleado PRIMARY KEY CLUSTERED,
    cNombrevarchar(255),
    iFoto image NULL
    )

    -- Primero creo el registro que recibirá la imagen
    insert TablaEmpleado (nIdEmpleado,cNombre,iFoto)
    values(4360, 'Victor', 0xFFFFFFFF)

    insert TablaEmpleado (nIdEmpleado,cNombre,iFoto)
    values(4361, 'Paco', 0xFFFFFFFF)


    -- Despues le pongo la imagen al campo iLogo
    -- Acá necesitas poner bien el
    -- PATH de textcopy.exe y de la imagen a agregar
    -- ojo la password de sa que la asumo en blanco

    exec master..xp_cmdshell 'c: extcopy -I -U sa -P -S ServerName -D db -T TablaEmpleado -C iFoto -W "where nIdEmpleado = 4360" -F c:Foto.jpg'

    -- Verifico que a Victor se le actualice de la imagen

    select * from TablaEmpleado

    La imagen quedo binaria.
    Luego lee el campo desde Crystal, VB, ASP o lo que sea y verás la imagen.

    Saludos
  7. fjac_pe New Member

    Ok, tenias razon, al buscar en internet sobre textcopy, indican lo mismo, y creo que fuera la unica forma, mas bien, como podria hacer para recuperarlo en crystal, con que tipo de dato, veo que tu eres mas para programador, porque lo jalo en Crystal pero no sale la imagen, que hice mal,

    TEXTCOPY Version 1.0
    DB-Library version 8.00.194
    Data copied into SQL Server image column from file 'c:imageslogo.jpg'.
    NULL
    ese mensaje me dice que lo inserto bien, pero no lo recupera el crystal report
  8. c_maldon Member

    Lo primero es verificar que la imagen esté en SQL Server.

    Si haces un select a la tabla en el query analyzer ves que la imagen está insertada?

    Tenés en el campo de la imagen un datos distinto de 0xFFFFFFFF?


  9. fjac_pe New Member

    0xFFD8FFE000104A46494600010101006000600000FFE1001645786966000049492A0008000000000000000000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D
    Si,encontre este valor
  10. c_maldon Member

    Estoy averiguando con programadores, que versión de crystal usas?
  11. fjac_pe New Member

    Uso la version 8, gracias por la ayuda

Share This Page