none
subir una planilla a sql server (binario) RRS feed

  • Pregunta

  • Hola muy buenas 

    bueno les explico tengo unas plantillas que yo las ocupo para crear PDF para factura, las tengo alojadas en el servidor en forma física y las llamo dando la dirección donde están alojadas

    (EJ:   vEnvio.Impresion.Generar(i, xNombreCediblePDF, "D:\Datos\documento_afecto_cedible.rtm", "PDF"))

    Bueno todo me sale bien, pero me gustaría poder alojarlas en el sql server ya que en el ambiente de trabajo tengo que estar cambiando las dirección de donde están y creo que el servidor debería tener la menor cantidad de cosas 

    PD: un amigo me dijo que se podría trasformar un archivo físico a binario y poder ingresarlo a la base de datos usando la menor cantidad de espacio si alguien sabe como se hace se los agradecería de corazón porque me gusto tanto esa idea 

    bueno de antemano muchas gracias y espero que alguien me ayude 

    • Cambiado Enrique M. Montejo lunes, 7 de noviembre de 2016 12:41 Pregunta relacionada con SQL Server.
    jueves, 3 de noviembre de 2016 13:11

Respuestas

  • Creo que lo que te dijo el amigo no tiene mucho sentido. El contenido del archivo ya es binario. No hay que convertirlo a nada, simplemente extraerlo y guardarlo en la base de datos.

    Si quisieras extraerlo y guardarlo desde SQL Server, se puede hacer con una sentencia OPENROWSET BULK con la cláusula SINGLE_BLOB. Pero no creo que merezca la pena hacerlo así: Dado que de todas maneras vas a tener que modificar el programa para que lea el campo binario de la base de datos, y eso implica que vas a tener que incorporar alguna tecnología de acceso a datos como por ejemplo Entity Framework, pues entonces ya puestos a meter las instrucciones de lectura puedes también meter las de escritura con muy poco trabajo adicional, ya que se apoyarían en la misma infraestructura de acceso a datos que de todas maneras vas a tener. Y una vez que tengas las instrucciones de escritura, simplemente las llamas en un bucle leyendo todos los archivos y grabándolos en la base de datos, y una vez hecho eso ya la tienes cargada.

    Si necesitas algo de ayuda sobre cómo leer y grabar en la base de datos el array de bytes extraído del fichero, indícanos qué tecnología de acceso a datos estás usando y muéstranos un ejemplo de cómo lees y grabas, con el fin de que te demos un ejemplo que "encaje" en esa técnica, ya que hay muchas formas distintas de hacer el acceso a datos y no es cuestión de añadir una nueva a tu programa solo porque vayas a leer un campo binario desde una tabla.

    jueves, 3 de noviembre de 2016 19:24