我有一个 SQL Server 2008 数据库,带有一个 VARCHAR(MAX) FILESTREAM 列。我可以使用以下语法将记录加载到其中:
`INSERT INTO DocumentRepository(DocumentExtension, DocumentName, Document)
SELECT
'doc' AS DocumentExtension
, 'Hamlet.doc' AS DocumentName
, * FROM OPENROWSET(BULK 'D:\Docs\Hamlet.doc', SINGLE_BLOB)
AS Document;`
Run Code Online (Sandbox Code Playgroud)
这很好地加载了我的 Word 文档。我想知道的是如何使用 SQL Server 提供的工具将数据提取回磁盘。可能是 T-SQL、bcp 等,并不在乎我只想知道一种无需编写 .NET 应用程序就可以做到这一点的方法。
我已经尝试过 bcp,使用 -c、-n、-N 和 -w 开关,它会提取文档,但格式不正确。当我在 Word 中打开它时,开头有很多二进制乱码,而文本在那里时,所有格式都消失了。
谢谢!