问题标签 [sqlfilestream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1315 浏览

sql-server - Sql Server 数据库中的性能损失 JSON

目前我将 JSON 存储在我的数据库中,因为VARCHAR(max)它包含一些转换。我们的一位技术人员要求存储转换后的原始 JSON。

恐怕如果我添加另一个 JSON 列,它会增大页面大小并导致访问时间变慢。另一方面,这个表不会很大(最多大约 100 行,每个 JSON 列占用 4-6 K 字节)并且每分钟可以访问多达 4 或 5 次。

我是一个无情地滥用我们的技术的小气守门人,还是一个保持系统可扩展性的睿智架构师?

另外,我对(相对)新的文件流/BLOBs 类型很好奇。从我读到的内容中,我感觉 BLOB 存储在某个单独的位置,因此关系查询根本不会减慢速度。将 varchar 切换到文件流有帮助吗?

0 投票
1 回答
918 浏览

database - 在 EF 迁移期间更改数据库选项

我们为我的数据访问层启用了一些 POCO 类和迁移,我们创建了一个初始迁移到 - 备注我们使用 CreateDatabaseIfNotExist 数据库初始化。

但是在数据库中我想要一个使用 SQL Filestream 的 MessageBody 字段,因为 Filestream 的 EF 限制 - 我们尝试在迁移脚本中手动执行。

在那里我们执行以下 sql 命令。

但我必须设置文件流选项 文件流选项

所以我想在迁移期间/之前执行以下命令。

但是当添加这个bedore创建表时,我得到错误:多语句事务中不允许ALTER DATABASE语句。

当您想自动创建数据库时,调整数据库选项的最佳方法是什么?是否可以在进程执行实际迁移之前拦截迁移过程以执行一些sql?

0 投票
1 回答
682 浏览

memory - 使用 Nancy 流式传输 (SqlFile-)Stream

我想知道如何通过我们的 Nancy-API 将(在我的情况下)SqlFileStream 直接发送到客户端,而无需将流加载到内存中。

到目前为止,我成功地传递了流,但是 Nancy 的 StreamResponse 将源流(=SqlFileStream)复制到了输出流,这会导致大量内存增加。我希望它通过它发送流。

我在 WebApi 中完成了这项工作,其中 WebApi 在 Owin 管道中注册。没有明显的内存增加,当我们谈论相当大的流(> 100MB)时,这很棒。但当然,如果可能的话,我宁愿坚持一个 API 应用程序框架。

有小费吗?

0 投票
1 回答
918 浏览

c# - 线程和 SqlFileStream。进程无法访问指定的文件,因为它已在另一个事务中打开

我正在提取 SQL 文件表中文件的内容。如果我不使用 Parallel,则以下代码有效。

同时读取 sql 文件流(并行)时,出现以下异常。

进程无法访问指定的文件,因为它已在另一个事务中打开。

TL;博士:

从 Parallel.ForEach 中的 FileTable(使用 GET_FILESTREAM_TRANSACTION_CONTEXT)读取文件时,出现上述异常。

示例代码供您试用:

https://gist.github.com/NerdPad/6d9b399f2f5f5e5c6519

更长的版本:

获取附件并提取内容:

DAO 读取文件表:

为每个文件创建对象:该对象包含对 GET_FILESTREAM_TRANSACTION_CONTEXT 的引用

使用 SqlFileStream 读取文件: 此处抛出异常

更新1:

根据这篇文章,这似乎是一个隔离级别的问题。有没有人遇到过类似的问题?

0 投票
1 回答
2031 浏览

c# - MVC 大文件上传内存不足

.Net 4.5.1 - MVC5 - EF6

要求是允许大文件上传(<200MB)。我有一个带有 HttpPostedFileBase 的 ViewModel。我将其输入流设置为数据库实体非映射流属性。然后将其发送到存储库,在其中我将复制流保存到 SQLFileStream。这一切都有效。

但是...在大约 4 次大上传后进行调试时,我收到 System.OutOfMemory 异常。我可以看到 HttpRawUploadedContent 继续增长,并将不再使用的 PostedFiles 保留在内存中。我究竟做错了什么?我怎样才能得到这些东西来处理?有没有更好的办法?任何指导表示赞赏。

附件视图模型.cs

数据库 FileEntity 上的非映射属性

FileRepository.cs 添加方法

内存截图 在此处输入图像描述

0 投票
2 回答
1186 浏览

sql-server - Red Gate SQL CI 构建错误:FILESTREAM 文件组在数据库中不可用

TL;DR SQLCI 是否支持 FILESTREAM?

Synchronization of 'Scripts.state' and ... failed: Default FILESTREAM filegroup is not available in database尝试在TeamCity中针对包含FILESTREAM列的数据库运行Red Gate SQL CI构建步骤时出现错误 。

我的事实来源是由 Git 支持的 SQL 源代码控制。由于其他错误,我正在使用 SqlServer 2012 实例而不是 LocalDB 进行验证。此服务器上还有其他具有 FILESTREAM 内容的数据库,所以我不认为问题是由于功能限制造成的。

有没有人遇到过这个问题?

完整的错误列表

(以*匿名)

调查

通过运行 SQL 跟踪,我设法在数据库发生故障后自动删除之前拔掉了网络电缆。

根据@DevOps 的回答,我能够确定 SQLCI 没有在数据库中创建 FILESTREAM 文件组。通过手动创建它,CREATE TABLE 能够成功。

我还没有设法让 SQLCI 自动执行此步骤。

0 投票
1 回答
1414 浏览

sql - SQL全文搜索PDF文件

首先,感谢您来到这里:

我在 SQL 中编写了一个脚本,能够在文件中找到单词,并得到了一些网站的大量帮助(http://dzapart.blogspot.fr/2012/04/full-text-search-with-pdf-in-microsoft .html )

问题在这里:

我有 "C:\TP3_compte_rendu.pdf" 这是一个 pdf 文件,而 'C:\TP3.txt' 是这个文件的文本:

因此,这两个文件具有相同的文本。

然后,我运行我的代码来构建一个表/索引/目录:

我使用 IFilter 对 PDFfiles 进行全文搜索:

它向我展示了:

因为我看到“.pdf”和好的 .dll ,没关系,安装了 IFilter。

所以,我在这张表中放了两个文件,.txt 和 .pdf 具有相同的文本:

然后,搜索:

它向我展示了......只有.txt。

同样的文字,只看到.txt,但是安装了IFilyter..我真的不明白。

0 投票
1 回答
403 浏览

sql-server - 带有 django-mssql 的 SQL Server 文件流

我想使用 SQL Server Filestream 功能来存储来自 Django 应用程序的文件(主要是大图像)。目前我正在使用 django-mssql 作为我的 Django 项目的数据库后端。我认为该包中没有任何现有模型字段链接到 SQL Server 中的 Filestream 列。

使用 Django 的文件流功能的最佳方式是什么?有没有现成的包?还是我需要实现我自己的自定义模型字段,继承自 Django 的内置字段(FileField 或 BinaryField)?

谢谢 !

0 投票
0 回答
165 浏览

sql - 如何更新 SQL FILESTREAM 中文件的内容并再次保存?

我知道如何在 SQL-Filestream 中插入、打开和更新新文件,例如 Excel 文件或 Word 文档。

但是如何从文件流中打开文件,编辑内容并将其保存回文件流,而不将检索到的数据保存为硬盘上的新文件。

谢谢你的帮助。

迈克尔

0 投票
3 回答
9707 浏览

sql-server - 文件流与文件表

我想将图像存储在 sql 数据库中。图像的大小在 50kb 到 1mb 之间。我正在阅读有关 FileStream 和 FileTable 的信息,但我不知道该选择哪个。每行将有 2 个图像和一些其他字段。

图像永远不会被更新/删除,每天将插入大约 3000 行。

在这种情况下推荐哪个?