sql-server – 如何在不使用.NET的情况下从SQL Server 2008 FILESTREAM字段中提取数据

前端之家收集整理的这篇文章主要介绍了sql-server – 如何在不使用.NET的情况下从SQL Server 2008 FILESTREAM字段中提取数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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;`

这加载我的word文档就好了.我想知道的是如何使用sql Server提供的工具将数据提取回磁盘.可能是T-sql,bcp等,真的不在乎我只是想知道一种方法来做到这一点,而不必诉诸于编写.NET应用程序.

我已经使用-c,-n,-N和-w开关对bcp进行了实验,它将提取文档,但格式不正确.当我在Word中打开它时,开头有很多二进制乱码,而文本在那里所有格式都消失了.

谢谢!

解决方法

很棒的问题 – 基本上你不能 – 你可以选择路径并直接从文件系统访问文件

但是从Books online开始你会注意到这些操作

>插入
>更新
>查询
>备份

FILESTREAM通过将varbinary(max)二进制大对象(BLOB)数据存储为文件系统上的文件,将sql Server数据库引擎与NTFS文件系统集成在一起. Transact-sql语句可以插入,更新,查询,搜索和备份FILESTREAM数据. Win32文件系统接口提供对数据的流式访问.

猜你在找的MsSQL相关文章