Visualizza il feed RSS

sspintux

SqlServer: caricare e scaricare un file memorizzato in un campo varbinary(max)

Valuta questo inserimento
di pubblicato il 02-04-2019 alle 13:04 (111 Visite)
Me lo appunto che può essere comodo

codice:
USE tempdb
GO

if object_id('myTable')  is not null
drop TABLE myTable
go

CREATE TABLE myTable(FileName nvarchar(60), 
  FileType nvarchar(60), Document varbinary(max));
GO

INSERT INTO myTable(FileName, FileType, Document) 
   SELECT 'test.xlsx' AS FileName, 
      '.xlsx' AS FileType, 
      * FROM OPENROWSET(BULK N'C:\temp\test.xlsx', SINGLE_BLOB) AS Document;
GO

select * from tempdb..myTable

/* 
Per scaricarlo su disco si può usare l'utility da riga di comando BCP:
BCP "select top 1 Document from tempdb..mytable" queryout "C:\temp\BCPNewfile.xlsx" -f "c:\temp\f.fmt" -T -S localhost -C RAW

file di formato f.fmt
---------------------------------
10.0
1
1       SQLBINARY           0       0       ""   1     Document             ""
*/

--drop TABLE myTable

aggiornamento da 02-04-2019 a 13:13 di sspintux

Categorie
Programmazione , Microsoft

Commenti