lunes, 4 de diciembre de 2017

GUARDAR UN BINARIO (PDF) EN UN DIRECTORIO DE WINDOWS


 El siguiente código lee un archivo en binario desde una base de datos
y lo guarda en un directorio en windows,
también se puede hacer una consulta sipmle y guardarla en un txt 

--╔═════════════════════════════════════════════╗
--║ GENERA UN TIPO BINARIO O EN SQL (VARBINARY) ║
--║ Y GUARDARLO EN UN DIRECTORIO EN WINDOWS     ║
--╚═════════════════════════════════════════════╝

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO
EXEC sp_configure 'Ole Automation Procedures',1; 
GO
RECONFIGURE; 
GO


DECLARE @outPutPath VARCHAR(50) = 'C:\BASURA\test.txt'
DECLARE @data       VARBINARY(MAX)
DECLARE @Init       INT
DECLARE @fPath      VARCHAR(MAX)
DECLARE @folderPath VARCHAR(MAX)

SELECT       @Data = convert(varbinary,'hola, este query baja a un txt ésta cadena');


/* GUARDA UN ARCHIVO PDF QUE ESTÁ EN BINARIO EN BASE DE DATOS A UNA RUTA DE WINDOWS


SELECT       @Data = PdfFile
FROM         Billing.Files
WHERE        IdTaxDocument= 68453

*/


EXEC sp_OACreate 'ADODB.Stream', @init OUTPUT;                     -- An instace created
EXEC sp_OASetProperty @init, 'Type', 1;
EXEC sp_OAMethod @init, 'Open';                                                  -- Calling a method
EXEC sp_OAMethod @init, 'Write', NULL, @data;                      -- Calling a method
EXEC sp_OAMethod @init, 'SaveToFile', NULL, @outPutPath, 2; -- Calling a method
EXEC sp_OAMethod @init, 'Close';                                          -- Calling a method
EXEC sp_OADestroy @init;                                                         -- Closed the resources
GO--------------------------------------------------------------





No hay comentarios.:

Publicar un comentario