我正在使用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