使用SQL Server从BLOB数据创建文件

时间:2018-06-11 10:22:45

标签: sql-server blob

我正在使用SQL从BLOB数据创建文件,文件已成功创建但无法打开文件。以下是尝试打开文件时出现的消息,

  

我们很抱歉。我们无法打开“file_name”,因为我们发现了一个问题   它的内容。

     

详情,文件已损坏,无法打开。

我使用存储在数据库表中的BLOB数据,使用以下方法创建文件,

declare @init int
declare @file varbinary(max) = CONVERT(varbinary(max), N'blob here')
declare @filepath nvarchar(max) = N'c:\Test\file_name.docx'

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, @file; -- Calling a method
EXEC sp_OAMethod @init, 'SaveToFile', NULL, @filepath, 2; -- Calling a method
EXEC sp_OAMethod @init, 'Close'; -- Calling a method
EXEC sp_OADestroy @init; -- Closed the resources

0 个答案:

没有答案