如何在SQLSERVER数据库中存入WORD文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SQLSERVER数据库中存入WORD文档相关的知识,希望对你有一定的参考价值。

参考技术A 分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

SQLSERVER数据库中能存入WORD文档吗

解析:

可以。

SQL Server 2000 可以使用 image 类型,最大可存储 2^31-1 个字节 即 2GB。

或者使用 binary 和 varbinary 类型,最大可存储 8,000 个字节。

未来的SQL Server版本将删除 image 类型,所以 SQL Server 2005 推荐使用 varbinary(max) 类型,最大可存储 2GB。

在sql server中存储html内容和其他文档(pdf、word、excel)?

【中文标题】在sql server中存储html内容和其他文档(pdf、word、excel)?【英文标题】:Storing html content and other documents (pdf, word, excel) in sql server? 【发布时间】:2010-12-08 04:59:33 【问题描述】:

什么数据类型最适合存储 html 内容和文档,例如 pdf、excel 文件和 word 文档。我目前正在使用 ntext,但我不确定这是否是存储 html 内容的最佳数据类型。

此外,我目前使用 FCKEditor 将 html 内容保存到 ntext 字段,并将标记与样式一起存储。如果我碰巧将部分描述读入 ListView 的 ItemTemplate 中,内容如下:

<%# Eval("content") %>

它显示内容,但也显示标记。例如,而不是显示:

"This is an html string",它会显示&lt;p&gt;This is and html &lt;b&gt;string&lt;/b&gt;&lt;/p&gt;

【问题讨论】:

【参考方案1】: 将 Unicode HTML 存储为 ntext 如果您 110% 确定您只需要 ascii,则可以使用 text 或 varchar。 将二进制文件(pdf、word、excel)存储为二进制 blob

【讨论】:

当您说 text 时,您的意思是与 ntext 相对吗?如果我的 html 将使用多种语言怎么办? 如果您预计需要 Unicode 支持,请使用 ntext 或 nvarchar。否则,ASCII 将占用更少的空间。 确实如此,但请记住,HTML 通常需要 Unicode。在 SQL Server 2008 中,Unicode 压缩在减少 ASCII 集之外的字符的存储空间方面非常聪明。我这里做了一些评测(应该是前三名):is.gd/4rJ3c我很期待这个。【参考方案2】:

我会将 HTML 存储在 NVARCHAR(MAX) 中(如果您不需要超过 4000 个字符,则更少)。不要使用 TEXT/NTEXT 数据类型,除非您被困在 SQL Server 2000 中。它们已被弃用,并且 MAX 类型的优点使它们的使用变得愚蠢恕我直言。

我会研究在 SQL Server 2008 中将文件存储为 FILESTREAM。如果您是

将文件存储在数据库中的好处是您可以获得事务一致性。缺点是您使用更多的数据库空间,这通常是在更昂贵的存储上。您也很难进行调试(您不能只在 Management Studio 中说“SELECT PDFFile FROM Table”,然后期望 Acrobat Reader 弹出并显示您的列的内容)。

因为在工作中,我不得不向未出生的孩子请求并签署权利以获得更多的 SAN 分配,而在游戏中,我的数据库空间使用量比我的文件空间使用量要多很多 ,我每次都选择基于文件的存储。在工作中,我们的文件系统得到了备份,虽然它不是 100% 与数据库备份同步,但我们看到的文件损坏问题很少不是最终用户的错(并且在没有我们参与的情况下很容易纠正)-零,事实上 - 似乎不值得调查。

就像我说的,个人喜好。但要提出正确的问题并了解您的目标和局限性。

【讨论】:

爆炸,亚伦!我只是在输入一个类似的回复:) Stu 我肯定需要超过 400 个字符,而且我没有 sql server 2005,尽管这可能很快就会改变。将它们存储在硬盘驱动器上,然后将指向 html 文档的链接存储在数据字段中并不是一个坏选择。 有了 FileStream 对象,我也可以存储 pdf、excel、word 等文档吗?我也可以将它们存储在文件系统上,对吗? 对不起,应该是 4000,不是 400。我的打字机认为它不必在深夜工作这么辛苦。 FileStream 是一个非常大的话题,需要广泛的理解和规划。简而言之,是的,您可以存储可以存储在文件系统中的任何类型的文档,并且可以在文件系统的任何位置分配文件流存储空间(有限制,您可以想象)。如果您使用 SQL Server 2008,我会阅读更多关于 FileStream 的内容,并且真的认为这可能是一个好处:msdn.microsoft.com/en-us/library/bb895234.aspx / msdn.microsoft.com/en-us/library/bb895234.aspx

以上是关于如何在SQLSERVER数据库中存入WORD文档的主要内容,如果未能解决你的问题,请参考以下文章

C#中二进制数据与word文档之间的转换

kindEditor 无法获取 word文档中的图片,如何才能获取

如何将存入数据库的乱码还原?

c#/.net 如何把word文件储存到服务器

如何把word文档导入到数据库中——java POI

如何从 SQL Server 表中读取图像数据(存储 word 文档)并将其保存到本地文件夹