如何存储不同类型的文档

2023-12-30

我有一个使用 SQL SERVER 2008 的网站,它允许用户上传 excel、word、txt、pdf、媒体文件和其他格式的文件。 (就像Rapishare、Megaupload)

将它们存储到 SQL SERVER 中的最佳方法是什么?


FILESTREAM http://msdn.microsoft.com/en-us/library/gg471497.aspx or VARBINARY(MAX) https://stackoverflow.com/questions/613154/how-to-dump-all-of-our-images-from-a-varbinarymax-field-in-sql2008-to-the-file,但是您应该考虑这样做与将文件存储在文件系统上并且仅将指向数据库中的文件的指针相比的优缺点。

在数据库中存储文件的优点:

  • 事务一致性
  • 安全性(假设您需要它并且您的数据库无论如何都没有完全开放)

Cons:

  • 更大的数据库文件+备份(如果您托管在其他人的存储上,这可能会很昂贵)
  • 调试起来更加困难(你不能在 Management Studio 中说“从表中选择文档”并弹出 Word)
  • 向用户呈现文档(并允许他们上传)更加困难 - 您必须构建一个应用程序来获取文件并将其存储在数据库中,然后提取文件,而不仅仅是呈现文件系统上文件的链接从数据库中将其呈现给用户。

在 SQL Server 2012 中,文件表 http://msdn.microsoft.com/en-us/library/ff929144.aspx将提供更可用的混合动力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何存储不同类型的文档 的相关文章

  • 无法打开备份设备。操作系统错误5

    下面是我用来备份的查询 创建一个 bak 我的数据库 但是 每当我运行它时 我总是收到此错误消息 消息 3201 16 级 状态 1 第 1 行无法打开备份设备 C Users Me Desktop Backup MyDB Bak 操作系统
  • Rails 3.1 + 回形针 + jQuery 文件上传

    我一直在寻找一种设置 Ruby on Rails 3 1 的方法回形针 https github com thoughtbot paperclip and jQuery 文件上传 https github com blueimp jQuer
  • iPhone - 从网络服务器获取文件的上次修改日期

    我想检查网络服务器上文件的上次修改日期 任何帮助都会很棒 谢谢 NSURLRequest request NSURLRequest alloc initWithURL aURL NSHTTPURLResponse response NSUR
  • SQL Server 2008 中超前滞后函数的替代

    我想将当前行与下一行中的值进行比较 SQL 有LEAD and LAG函数来获取下一个和上一个值 但我无法使用它们 因为我使用的是 SQL Server 2008 那么我该如何得到这个呢 我有带输出的表 Id ActId StatusId
  • 将 SQL Server 2008 查询分成多个批次

    我正在尝试准备一些数据供第三方删除 不幸的是他们只能批量处理 2000 条记录的数据 我有 100k 条记录 可能需要多次分割和导出这些数据 所以我想以某种方式自动化该过程 有没有一种相当简单的方法可以使用 SQL Server 2008
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 使用 Visual Studio 复制文件?

    我想创建一个 Visual Studio 我正在使用 VSTS 2008 项目 它只执行文件复制工作 更详细地说 我将向该项目添加一些文件 并将该项目复制文件 包含在该项目中 到某个目标位置我构建该项目 有什么想法如何在 VSTS 中做到这
  • SQL Server 2008中的分割函数

    I have Table1像这样的列 ID Name 1 MSSQL 2 MySQl 3 Oracle In Table2 我有一个像这样的专栏 Databasename 1 3 2 1 2 我的输出应该是 Databasename MSS
  • 文件构造函数说明

    我无法理解以下文件构造函数 public File String parent String child and public File File parent String child 参数有什么作用parent and child该文件
  • Java中独立于文件系统的文件和路径?

    我正在使用 Java 8 编写一个与文件系统交互的应用程序 为了使测试更容易 我注入了FileSystem到我的方法中 可以将其换出进行测试 我目前正在使用jimfs在我的单元测试和DefaultFileSystem getFileSyst
  • Apache FileUpload API 中的 InputStream 已关闭

    这是一个非常具体的问题 我希望这里有人对 FileUpload API 有很好的了解 如果您使用过此 API 您应该知道 当超过文件的最大大小时 将无法读取下一项 因为会抛出 FileSizeLimitExceededException 并
  • 到命名实例的 Sql 连接字符串

    我可以在示例代码项目中使用它连接到我的 sql server 2008 开发人员服务器 string connection data source SQLSERVER2008 Integrated Security SSPI Initial
  • 在移动 Chrome 上上传图片表单失败

    我正在构建一个移动网络应用程序 其中用户手机上的图片发挥着重要作用 我有这个表单 用户可以将手机拍摄的照片上传到应用程序的数据库中 我在用着CodeIgniter上传类 https ellislab com codeigniter user
  • 如何以编程方式将文件上传到网站?

    我必须将文件上传到服务器 该服务器仅公开带有文件上传按钮的 jsf 网页 通过 http 我必须自动化一个进程 作为java独立进程完成 该进程生成一个文件并将文件上传到服务器 遗憾的是 必须上传文件的服务器不提供FTP或SFTP 有没有办
  • 如何使用 C# 上传文件并将其保存到 Stream 以便进一步预览?

    有没有办法上传文件 将其保存到流中 该流我会将其临时保存在会话中 最后 我将尝试预览此会话中的此上传文件 例如 pdf 文件 Thanks EDITED 这就是我想做的 HttpPostedFileBase hpf Request File
  • SQL Server 列的默认值

    当您使用列的默认值时SQL Server Management Studio表设计器 SSMS 更改您的默认值并在其周围添加括号 在所有版本和 SQL Server 的所有版本中 例如 如果您设置0作为默认值 此默认值更改为 0 我不知道为
  • 比较方法在对文件进行排序时违反了其一般契约

    我知道这种异常有很多问题 而且我确实找到了解决方案 但我的问题是不同项目中的相同代码不会抛出异常 而这个却抛出异常 这两个项目都具有相同版本的 Java 和其他库 基本上我有一个小函数 它从目录中检索文件列表 按时间戳对它们进行排序 然后返
  • 系统找不到java中指定的文件

    我正在制作一个打开和读取文件的程序 这是我的代码 import java io public class FileRead public static void main String args try File file new File
  • 在 Java 中实现 SQL CHECKSUM

    我在 SQL Server 2008 中有一个现有数据库 它通过存储过程为现有 PHP Web 应用程序执行用户身份验证 Web 应用程序向存储过程发送一个字符串 无论存储过程如何存储 并使用 SQL Checksum 检查该值 http
  • 变更数据捕获性能损失是否仅限于启用 CDC 的表?

    我读到启用更改数据捕获显然会对数据库性能产生影响 这种性能损失是否仅影响启用了 CDC 的表 还是会影响数据库中的所有操作 在我的情况下 我使用 SSIS 并且有大量数据移入和移出临时数据库 我的系统中还有一些用于转换的查找表 我希望使用

随机推荐

  • 创建“Copyable”类型接口而不是使用“Cloneable”是否有意义?

    我有一些代码需要发送对象的副本 此要求是因为调用的服务 运行时库 会修改发送的对象 该对象还需要公开设置器 以防doThing下面的方法需要设置任何字段ImportantObj班级 此实现正在等待更改 但没有合理预期会在不久的将来发生更改
  • SQL - 使用 CASE 语句更新,我需要多次重复相同的 CASE 吗?

    我的 UPDATE 语句大致如下 UPDATE customer SET forenames ot forenames surname CASE WHEN ot safeplace IS NULL THEN test SAFEPLACE I
  • Spring Data JPA“无法找到 List [重复]

    这个问题在这里已经有答案了 很难弄清楚我是否遇到了错误或做了一些愚蠢的事情 Spring Boot v2 0 0 M7 spring data jpa spring data rest MySQL 以下 Query Query select
  • 如何退出 Google+ 帐户?

    在 Android 应用程序上注册 Google plus 后 我如何注销 以便可以使用另一个帐户登录 不知道是否GoogleAuthUtil invalidateToken是不是答案 Thanks 如果您正在使用Google 登录 htt
  • 给定一个 Java InputStream,我如何确定流中的当前偏移量?

    我想要一些通用的 可重复使用的东西getPosition 方法将告诉我从流的起点读取的字节数 理想情况下 我希望它能够与所有输入流一起使用 这样当我从不同的来源获取它们时 我就不必包装它们中的每一个 这样的野兽存在吗 如果没有 任何人都可以
  • Oracle sql 中的“show create table”等效项

    在 MySql 中 您可以使用以下命令查看表定义 列及其数据类型等 show create table table name oracle sql有类似的功能吗 如果您询问有关 SQL Plus 命令 show create table t
  • 使用 Bootstrap-Vue 时,如何防止单击嵌套 b-input 组件时关闭 b-dropdown?

    我很确定我只是不明白如何实现 Vue事件修饰符 https v2 vuejs org v2 guide events html Event Modifiers 根据该文档 我所要做的就是添加以下内容 a a 以下是我如何将示例解释为我的哈巴
  • Python 日志记录 - 根据名称确定级别号

    Python 日志记录级别可以使用以下方式注册logging addLevelName 有没有一种方法可以从级别名称获取Python日志编号 打电话后addLevelName 结果级别的处理方式与所有标准级别完全相同 gt gt gt im
  • 在多级逻辑回归中,SE 如何高于 1000? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 也许我的问题无法具体 但是当拟合 glme 模型 在 R 中使用 lme4 包 时 我得到其中一个参数 SE 1000 估计参数高达 16
  • 更改 UIPickerView 背景

    我想更改 UIPickerView 的边框颜色 我没有看到 UIPickerView 的色调属性 有什么办法可以做到这一点吗 或者解决方法 Thanks 您还可以屏蔽该组件 只需稍加修改 您就可以获取组件的大小并使用以下代码将其剪切出来 C
  • 使用遗传算法进行图像处理

    我想看看遗传算法在图像处理中的应用 我不知道如何为任何图像编写健身函数 假设我有一个灰度图像 它不是很清晰 现在如果我继续将生成的解决方案与该图片值匹配 那么我的解决方案会如何更好 例如更好的清晰度 增加的对比度 亮度等 我最喜欢的遗传算法
  • 为什么使用 setdefault() 创建的这个 Python 字典是乱序的?

    我刚刚开始使用 Python VBA 背景 为什么这本字典的创建顺序是乱的 不应该是a 1 b 2 等等吗 class Card def county self c 0 l 0 groupL groupL for Loop for n in
  • WordPress:更改管理子菜单顺序

    我已经创建并注册了一个管理页面作为 帖子 管理菜单下的子菜单 但问题是它出现在 wp 子菜单的末尾 即 标签 之后 如何更改此自定义管理页面子菜单条目的顺序以使其显示在 添加新项 之后 我正在使用此功能在 edit php 帖子菜单 下注册
  • postgresql连接2个表

    我有2个表tab1和tab2 tab2 tab1 id 引用tab1 id tab2 与 tab1 id 具有不同的值 我需要一个将 tab1 与 tab2 中的操作列连接起来的连接 以及 id 的最新值 tab1 id user file
  • Jquery 自动加载 gif 并在提交点击时禁用按钮

    是否可以自动显示 隐藏 ajax 加载 gif 并同时禁用 启用提交按钮 当提交按钮是样式化的而不是输入类型 提交时 目前 在提交时我这样做 save button id click function if save button id h
  • 运行时错误:对象不支持属性或方法

    我需要在一个相当大的项目中使用 jQuery 创建一个对话框 在某些地方 这个项目使用的 jquery 版本与我最近在窗口中使用的版本不同 我的代码如下所示 在 ascx 页面上
  • Autofac - 注册所有 Windows 窗体

    有没有办法让 Autofac 自动注册我的程序集中的所有 Windows 窗体 此功能很可能类似于 Autofac MVC 支持注册所有控制器的能力 现在 我这样做 foreach var type in Assembly GetExecu
  • 是否可以滚动 Treeview 的列内容,而不是 Tkinter 中的列窗口?

    我有一个带有 Treeview 小部件和一列的窗口 如果我添加足够的节点以使节点的文本超出窗口的宽度 则除非我更改 否则将无法水平滚动列宽使其比窗宽 这就是我的意思 我应该能够水平滚动 这样我就可以适应节点的文本 但水平滚动条被禁用 但是
  • 否定内部词法分析器和解析器规则

    否定元字符如何 在 ANTLR 的词法分析器和解析器规则中使用吗 否定可以发生在内部词法分析器和解析器规则 https stackoverflow com questions 4297770 practical difference bet
  • 如何存储不同类型的文档

    我有一个使用 SQL SERVER 2008 的网站 它允许用户上传 excel word txt pdf 媒体文件和其他格式的文件 就像Rapishare Megaupload 将它们存储到 SQL SERVER 中的最佳方法是什么 FI