加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何在不使用.NET的情况下从SQL Server 2008 FILE

发布时间:2021-03-17 11:06:02 所属栏目:MsSql教程 来源:网络整理
导读:我有一个SQL Server 2008数据库,带有VARCHAR(MAX)FILESTREAM列.我可以使用以下语法将记录加载到其中: `INSERT INTO DocumentRepository(DocumentExtension,DocumentName,Document) SELECT 'doc' AS DocumentExtension,'Hamlet.doc' AS DocumentName,* FROM O

我有一个SQL Server 2008数据库,带有VARCHAR(MAX)FILESTREAM列.我可以使用以下语法将记录加载到其中:

`INSERT INTO DocumentRepository(DocumentExtension,DocumentName,Document) 
 SELECT
 'doc' AS DocumentExtension,'Hamlet.doc' AS DocumentName,* FROM OPENROWSET(BULK 'D:DocsHamlet.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文件系统接口提供对数据的流式访问.

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读