如何创建支持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日

相关文章

  • 深入理解双指针的两种用法

    下面是深入理解双指针的两种用法的完整攻略: 一、双指针的用法 双指针是一种常用的算法技巧,在前后指针相互协作下,可以高效地解决很多问题, 比如数组和链表问题等。它的核心思想是用两个指针指向不同的元素,来解决问题。 二、双指针的两种用法 1. 快慢指针 快慢指针是一种经典的双指针技巧。它通常是指两个指针,一个是快指针,一个是慢指针。 示例1:给定一个有序数组,…

    C 2023年5月23日
    00
  • VSCode下.json文件的编写之(1) linux/g++ (2).json中参数与预定义变量的意义解释

    下面是关于“VSCode下.json文件的编写之(1) linux/g++ (2).json中参数与预定义变量的意义解释”的完整攻略。 1. 简介 首先,我们应该知道,.json文件是一种轻量级的数据交换格式,可用于跨语言和跨平台传输数据,并且在VSCode中可以用来配置我们的编译环境。 在这个话题中,我们会讲解两个方面的内容:- (1) linux/g++…

    C 2023年5月23日
    00
  • 首款医学智能手环c+手环使用图文教程

    首款医学智能手环c+手环使用图文教程 什么是首款医学智能手环c+ 首款医学智能手环c+是一款能够监测用户健康状况的智能手环,它能够测量用户的心率、血氧、血压等多项指标,同时还支持日常步数、距离、卡路里消耗等数据的统计。手环还具有防丢功能,支持闹钟提醒、来电提醒、信息提醒等功能。 如何使用首款医学智能手环c+ 以下是手环使用流程的详细说明: 第一步:购买手环并…

    C 2023年5月22日
    00
  • C 环境设置

    C 环境设置完整使用攻略 什么是 C 环境 C 环境包括编译器、链接器和调试器等,是用来开发 C 语言程序的软件集合。 C 环境设置步骤 1. 下载安装 C 语言编译器 常见的 C 语言编译器有 GCC 和 Clang 等,可根据自己的需求选择合适的编译器并下载安装。以 GCC 编译器为例,下载安装步骤如下: 在官网(https://gcc.gnu.org/…

    C 2023年5月10日
    00
  • 从Immutable.js到Redux函数式编程

    从Immutable.js到Redux函数式编程的完整攻略包含以下步骤: 1. 简介 Immutable.js是一个JS库,提供了一组不可变数据结构集合(如List、Map、Set等),可以帮助我们更简洁、高效地处理数据,同时避免出错。而Redux是一个用于JavaScript应用程序的可预测状态容器,可以确保你的应用的行为始终一致且易于测试。借助Immut…

    C 2023年5月22日
    00
  • C++中如何实现回调的方法示例

    C++中实现回调的方法有多种,下面介绍两种常见的实现方式。 方式一:函数指针 通过函数指针实现回调,需要定义一个函数指针类型,将回调函数与函数指针进行绑定,然后在合适的时机调用函数指针即可。 示例1 定义一个函数指针类型,函数原型为: typedef void (*MyCallbackFunc) (int arg1, int arg2); 其中,第一个参数表…

    C 2023年5月23日
    00
  • C语言系统调用约定

    C语言系统调用约定 在C语言中,系统调用使得程序能够与操作系统进行交互,包括执行I/O操作、内存管理等等。C语言中的系统调用约定是指C语言程序如何调用操作系统提供的系统调用。在不同的操作系统中,系统调用的约定可能不同,因此我们需要针对不同的操作系统学习和使用不同的系统调用约定。 基本概念 在C语言中,我们可以使用syscall函数进行系统调用。syscall…

    C 2023年5月23日
    00
  • C语言:十进制,BCD码互换详解

    C语言:十进制,BCD码互换详解 1. 什么是BCD码 BCD码是二进制编码十进制的简称。它的特点是将十进制的数字转换成二进制的形式,但是每个二进制数码的取值范围只能是0000到1001,而且这种编码方式不容易进行运算。这种编码方式广泛应用于数字电路设计中。 2. 十进制转BCD码 将十进制数字转换成BCD码的一个常见方法是利用位运算,可以将拆分出每一位数字…

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