Tecnología

Inicio

Cómo insertar un PDF en el T-SQL

Cómo insertar un PDF en el T-SQL


La capacidad de guardar archivos dentro de filas de la tabla de base de datos como objetos binarios grandes (BLOB de) es una potente característica de Microsoft SQL Server, sin embargo, el mecanismo para hacerlo es algo diferente a la de la inserción de otros tipos de datos. En SQL Server 2005 y versiones posteriores, la función "OPENROWSET" hace el proceso mucho más fácil que en las versiones anteriores. Recuperar los archivos de la base de datos requiere un enfoque diferente - haciendo uso del programa de copia masiva (BCP utilidad) para guardar los datos binarios en un archivo en el disco.

Instrucciones

Insertar un archivo

1 La columna que contendrá los archivos binarios tiene que ser del tipo de datos varbinary (max). Si una tabla adecuada no existe ya en la base de datos, añadir un "varbinary (max)" columna ya sea a una tabla nueva o existente.

2 Utilice la función "OPENROWSET" para insertar el archivo utilizando la siguiente sintaxis. Reemplazar "<nombre de tabla>" y "<nombre de columna>" con los nombres de tablas y columnas, respectivamente. Reemplazar "<ruta de archivo>" con la ruta completa al archivo que desea insertar.

INSERT INTO <nombre de tabla>

( &lt;column name>

)

BulkColumn SELECT

FROM OPENROWSET (BULK '& lt; ruta de archivo>', SINGLE_BLOB) AS BLOB

3 Realizar una consulta "SELECT" en la mesa para asegurarse de que el archivo se ha insertado correctamente. El "varbinary (max)" columna contendrá una cadena binaria del contenido del archivo.

Recuperar un archivo

4 Abrir una ventana "Símbolo del sistema" en el menú "Inicio".

5 Escriba el comando bcp como se muestra, en sustitución de "<nombre de columna>" con el nombre de la columna BLOB, "<base de datos>. <Nombre de tabla>" con las respectivas bases de datos y nombres de tablas, "<clave primaria>" con el nombre de la columna de clave principal, "<valor de la clave>" con el valor de clave principal de la fila para ser devuelto y "<nombre de archivo>" con el nombre del archivo que desea guardar.

C:> bcp ". SELECT <nombre de columna> FROM <base de datos> <nombre de tabla> WHERE <clave principal> = <valor de la clave>" queryout "<nombre de archivo>" -T

6 Pulse la tecla "Enter" para ejecutar el comando. El archivo se guarda en el directorio actual.