如何创建支持FILESTREAM的数据库示例探讨

下面是如何创建支持FILESTREAM的数据库示例探讨的完整攻略:

前置条件

在开始之前,请确保你已经安装了 SQL Server,并且确定使用的 SQL Server 版本支持 FILESTREAM 特性,同时需要进行以下配置:

  • 选择启用 FILESTREAM,安装 SQL Server 实例时应勾选 FILESTREAM 特性;
  • 配置 FILESTREAM,启用 Windows 服务并配置 FILESTREAM 实例级别和数据库级别;
  • 确定使用的相应编程助手(如 ADO.NET 或 ODBC)并安装驱动程序。

创建支持 FILESTREAM 的数据库

接下来,你需要按照以下步骤来创建支持 FILESTREAM 的数据库:

  1. 创建一个新的数据库

在 SQL Server Management Studio(或通过 SQL 命令)中创建一个新的数据库。比如,执行以下 SQL 命令:

CREATE DATABASE ExampleDB;
  1. 启用数据库的 FILESTREAM 功能

在创建数据库后,你需要通过以下步骤来启用 FILESTREAM 功能:

  • 使用 ALTER DATABASE 语句,启用 FILESTREAM 功能,并且为 FILESTREAM 分配名字。以下是一个样例语句:
ALTER DATABASE ExampleDB SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = 'ExampleDBFileStream')

其中,DIRECTORY_NAME 表明了你存储 FILESTREAM 数据的文件夹名称,名称需要唯一。

  • 创建 FILESTREAM 文件夹。在这个例子中,你需要在服务器上创建名为 "ExampleDBFileStream" 的文件夹。
  • 授予 SQL Server 读/写 FILESTREAM 文件夹的权限。修改文件夹权限时,你需要确保 SQL Server 服务帐户和 NETWORK SERVICE 帐户都有读/写权限,以便 SQL Server 可以正确地读取和写入 FILESTREAM 数据。以下是一个样例语句:
USE master;
GO
GRANT VIEW SERVER STATE TO ExampleDB;
GRANT ALTER ANY DATABASE TO ExampleDB;
GRANT CONTROL SERVER TO ExampleDB;
GO
USE ExampleDB;
GO
ALTER DATABASE ExampleDB SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = 'ExampleDBFileStream'); 
GO

注意,你需要将 "ExampleDB" 替换成你自己的数据库名称。

FILESTREAM 数据库的示例操作

接下来,我们将会使用两个示例来演示如何在支持 FILESTREAM 的数据库中进行相应的操作。

示例一:向文件夹 "ExampleDBFileStream" 中添加文件

例如,为名为 "ExampleDocument" 的文件定义一个 FILESTREAM 存储列。以下是一个样例 SQL 命令:

CREATE TABLE ExampleTable
(
    ID INT PRIMARY KEY,
    Document VARBINARY (MAX) FILESTREAM NULL
)
GO

接下来,你可以向数据库添加数据:

INSERT INTO ExampleTable (ID, Document)
SELECT 1, *
FROM OPENROWSET(BULK N'C:\ExampleDocument.docx', SINGLE_BLOB) AS Document

在这个例子中,"C:\ExampleDocument.docx" 是包含要添加的文档的文件的完整路径。在执行该插入语句之后,SQL Server 会自动将文件移动到文件夹 "ExampleDBFileStream" 中。

示例二:从 FILESTREAM 中检索特定文档

以下是一个样例 SQL 命令,它演示了如何从 FILESTREAM 中检索名为 "ExampleDocument" 的文档:

SELECT Document.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT(), *
FROM ExampleTable
WHERE ID = 1

在执行此脚本之后,文件路径和文件流上下文将返回给客户端,并且客户端可以使用文件路径和文件流上下文来检索数据。

总之,这些是创建支持 FILESTREAM 的数据库的步骤,并演示了如何在其中添加和检索数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何创建支持FILESTREAM的数据库示例探讨 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • ASP.NET MVC异常处理模块详解

    ASP.NET MVC异常处理模块是一种用来处理系统中出现的错误和异常的模块,可以有效降低系统的错误率和提供系统的稳定性。本文将从以下几个方面介绍ASP.NET MVC异常处理模块的详细攻略: 1. 异常处理的原理和流程 通常情况下,ASP.NET MVC系统中的异常处理流程如下: 1)异常发生时:程序运行过程中,如果出现了错误和异常,将会被.NET平台捕获…

    C 2023年5月23日
    00
  • C语言学习笔记之VS2022安装使用教程

    下面是C语言学习笔记之VS2022安装使用教程的完整攻略: 1. 下载VS2022安装程序 首先需要从官网下载Visual Studio 2022的安装程序,官网链接为 https://visualstudio.microsoft.com/vs/。在该网址中可以选择自己想要的Visual Studio版本进行下载,下载完成后直接双击安装程序即可开始安装。 2…

    C 2023年5月23日
    00
  • java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化

    讲解如下: 什么是FastJSON、Gson、Jackson FastJSON、Gson、Jackson,是三种在Java领域广为使用的Json格式工具。它们可以将Java对象转化为Json格式,也可以将Json格式的数据转化为Java对象。 如何自定义时间序列化 在Java中,Date类型的数据无法直接转化为Json格式,需要手动将Date类型转化为Str…

    C 2023年5月23日
    00
  • 你的电脑设备需要修复0xc000007b无法开机怎么办?(附解决办法)

    你的电脑设备需要修复0xc000007b无法开机怎么办?(附解决办法) 问题描述 当你尝试开机时,显示出现错误0xc000007b,导致无法正常启动计算机。该错误代码通常是由于操作系统损坏或重要的系统文件丢失所导致的。 解决方案 以下是解决电脑无法开机的方法: 方法1:重建启动记录 这个问题通常可以通过重建启动记录并修复损坏的引导文件来解决。你可以使用Win…

    C 2023年5月23日
    00
  • C语言实现线性动态(单向)链表的示例代码

    下面是详细讲解“C语言实现线性动态(单向)链表的示例代码”的完整攻略: 线性动态(单向)链表是什么? 线性动态(单向)链表是一种动态数据结构,由若干个节点组成。每个节点包含两个部分:数据部分和一个称为指针的部分。指针指向下一个节点,最后一个节点指向空地址(NULL)。链表起始点称为头节点,最后一个节点称为尾节点。 实现步骤 1. 定义节点结构体 定义节点结构…

    C 2023年5月23日
    00
  • oaptt搭建http服务的过程详解

    下面是“oaptt搭建http服务的过程详解”的完整攻略。 什么是oaptt? oaptt是一款优秀的Python Web框架,它基于Tornado实现,提供更加灵活和高效的Web应用程序搭建方式。oaptt支持多种模板引擎,集成对象关系映射(ORM)库,支持静态文件服务等功能。它的代码简洁易懂,上手门槛较低,适合初学者和中级开发者快速搭建Web应用程序。 …

    C 2023年5月23日
    00
  • 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较

    首先,我们需要了解三种函数的基本用法和区别: memcpy:用来实现两个内存区域的复制,常用于拷贝字符串。 strncpy:用来将指定长度的源字符串拷贝到目标字符串中,如果长度超出,则后续填充’\0’。 snprintf:类似于sprintf,将格式化的字符串写入指定的缓冲区,可以限制写入的最大字符数以避免缓冲区溢出。 下面我们来比较一下这三个函数的性能。 …

    C 2023年5月22日
    00
  • C++实现寝室卫生管理系统

    C++实现寝室卫生管理系统 1. 系统需求分析 在实现寝室卫生管理系统时,我们需要明确系统的需求和功能。一个基本的寝室卫生管理系统应该包括以下功能: 管理员登录:管理员需要进行身份验证,才能进行管理操作; 学生信息录入:管理员可以添加、修改、删除学生信息; 寝室卫生评分:管理员需要对寝室进行卫生评分,并记录下评分结果; 查询寝室卫生:学生可以通过系统查询自己…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部