Come inserire un PDF in T-SQL

May 3

Come inserire un PDF in T-SQL


La possibilità di salvare i file all'interno righe della tabella del database come oggetti di grandi dimensioni (BLOB Binary di) è una potente funzionalità di Microsoft SQL Server, ma il meccanismo per farlo è un po 'diverso da quello per l'inserimento di altri tipi di dati. In SQL Server 2005 e versioni successive, la funzione "OPENROWSET" rende il processo molto più semplice rispetto alle versioni precedenti. Richiamo dei file dal database richiede un diverso approccio - facendo uso della copia di massa di programma (BCP) per salvare i dati binari in un file su disco.

istruzione

Inserire un file

1 La colonna che conterrà i file binari deve essere del tipo di dati VARBINARY (MAX). Se una tabella adeguata non esiste già nel database, aggiungere una "(MAX) VARBINARY" colonna o una tabella nuova o esistente.

2 Utilizzare la funzione "OPENROWSET" per inserire il file utilizzando la seguente sintassi. Sostituire "<nome tabella>" e "<nome di colonna>" con i nomi di tabella e di colonna, rispettivamente. Sostituire "<percorso file>" con il percorso completo del file da inserire.

INSERT INTO <nome tabella>

( &lt;column name>

)

SELEZIONA BulkColumn

FROM OPENROWSET (BULK '& lt; percorso di file>', SINGLE_BLOB) AS BLOB

3 Eseguire una query "SELECT" sul tavolo per assicurarsi che il file è stato inserito correttamente. L ' "(MAX) VARBINARY" colonna conterrà una stringa binaria del contenuto del file.

Recuperare un file

4 Aprire una finestra "Prompt dei comandi" dal menu "Start".

5 Digitare il comando BCP come mostrato, sostituendo "<nome di colonna>" con il nome della colonna BLOB, "<database>. <Nome tabella>" con i rispettivi database e di tabelle nomi, "<chiave primaria>" con il nome di la colonna chiave primaria, "<valore chiave>" con il valore della chiave primaria della riga da restituire e "<nome file>" con il nome del file da salvare.

C:> BCP ". Selezionare <nome della colonna> FROM <database> <nome tabella> WHERE <chiave primaria> = <valore chiave>" queryout "<nome file>" -T

6 Premere il tasto "Enter" per eseguire il comando. Il file verrà salvato nella directory corrente.