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