问题标签 [filetable]

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 投票
1 回答
3939 浏览

tsql - 使用 SQL INSERT 创建包含 FileTable 的目录

有没有办法在不使用文件 I/O API的情况下在FileTable中创建目录?它就像创建 SQL INSERT 语句一样简单吗?

这是我第一次使用 SQL Server 2012,我不熟悉FileTableSQL Server 中的限制。

0 投票
4 回答
8025 浏览

sql - 使用 FileTable 通过 SQL INSERT 创建子目录

以前,我请求过如何在FileTable不使用文件 I/O API的情况下在 a 中创建目录。我现在想为我刚刚创建的父目录创建一个子目录。在插入期间如何分配我的父母?看来这parent_path_locator是一个计算列。

这创造了我的父母......

如何在我的 FileTable 中为该父级创建一个子目录?

0 投票
3 回答
1507 浏览

csv - 存储在 SQL 2012 FileTable 中的 150MB csv 文件 - 我如何查询要插入到表中的数据

我有一个带有 Persons 表的简单数据库

该表包含 750,000 行(人)。

我收到一个可能包含 1000 万行的 CSV 文件

用户当前和之前的联系方式

该文件包含usersId在其中,因此我可以将联系人详细信息与用户匹配。

人员和联系方式之间存在一对多关系

我的最终目标是查询选择UserId, Name, DOB, Address1, Address2......

目前我使用 .net 打开 csv 文件并逐行读取并将每条记录单独写入 SQL 服务器(可能有 1000 万条 sql 插入) - 这很慢,所以我正在寻找其他方法。

我正在试验 SQL 2012 FileTable/Stream - 所以我将 csv 文件存储在 FileTable 中并且可以这样查询

有谁知道我是否可以查询 FileStream 和批量插入或任何其他处理核心 csv 数据的方式?

我看过

但由于文件大小,这不起作用

欢迎任何建议。

0 投票
1 回答
5288 浏览

sql - FILESTREAM/FILETABLE 实施说明

最近,我们的团队正在研究 FILESTREAM 以扩展我们专有应用程序的功能。这个应用程序的主要目的是管理我们制造的所有零件的各种 PDF、图像和文档。我们的 ASP 应用程序使用一些第三方工具来允许查看这些文件。我们目前在 Fileserver 上有 980GB 的数据。我们在 SQL Server 中有大约 200GB 的二进制数据,我们想要提取这些数据,因为它表现不佳,因此 FILESTREAM 似乎是对两个主要数据存储/访问问题的一个很好的折衷方案。

有几件事对我们来说并不完全清楚:

  1. FILESTREAM 可以或不能将其数据存储在非本地连接的驱动器上。我们已经有一个带有 RAID 10(1.5TB 驱动器)的文件服务器。此服务器现在存储所有文档,我们是否必须将这些驱动器移动到 SQL Server 以用于 FILESTREAM?这将是一颗难以忍受的子弹,因为该服务器还兼作应用服务器(一台物理服务器上的两个 VM)。

  2. FILETABLE 存储有关文件的通用元数据,但它的全文部分存储在哪里以允许搜索像 doc/docx 这样的文件?这是分开的吗?你可以自由地添加条件来搜索吗?如果是这样,任何澄清的链接将不胜感激。

  3. 可以使用外键在另一个表中引用 FILETABLE 吗?

先感谢您

编辑:对于那些有这些问题的人,这个网络视频涵盖了所有内容以及更多关于解释 2008 年到 2012 年的文件流以及需要考虑的注意事项(如果可以的话,我会认真地代表他):http ://channel9.msdn.com/Events /TechDays/Techdays-2012-the-Netherlands/2270

总之,我们不会使用 FILESTREAM,因为这将是一种巨大的热潮来适应投资。

编辑2:

更新到 #1 - 在仔细评估 FileTable 和 FILESTREAM 之后,我们得到了一个成功的组合。我们确实必须将文件移动到新服务器上(因为它们在同一个 VM 上,所以并不痛苦)。老实说,编写提取工具将 SQL 中的二进制数据转储到文件系统中需要更多时间。

更新到 #2 - 这是单独的,但 Bob 再次举办了一场精彩的网络研讨会来解释这一点:http ://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411

更新到 #3 - 使用 TFT 继承​​,我们回收了我们拥有的 Docs 表(减去巨大的二进制 blob),这需要对我们的旧应用程序进行很少的更改。这对开发团队来说是一个巨大的结果。

0 投票
2 回答
3790 浏览

sql-server - 来自 FileTable msg 22015 的 Sql Server 数据库邮件附件(文件无效)

我正在将 Web (mvc3) 应用程序中的电子邮件服务从 .Net 转换为 sql 数据库邮件。我们要作为附件发送的一些内容已上传到 sql FileTable。当我使用附件的 UNC 路径 (@file_attachments=) 时,我收到此错误:

我可以使用相同的路径直接打开文件,当我将文件复制到本地文件夹时,文件附件很好。我怀疑问题是 FileTable 目录的文件夹权限。但我找不到任何挂钩来设置该文件夹的权限。

我正在使用 Windows 身份验证在 SSMS(本地 sql 实例)中本地运行 EXECUTE msdb.dbo.sp_send_dbmail。

任何建议将不胜感激。

0 投票
1 回答
1297 浏览

triggers - Sql Server 2012 FileTable 的更新触发器有什么问题

我有一个表“game.FileAttachments”,它有一个stream_id 列,该列链接到文件表“game.Attachments”的stream_id 列。我在 File 表上创建了一个 Update 触发器,以更新链接表上的 stream_id;原因是,当 File 表中的文件被修改时,stream_id 会发生变化。这是我的触发器;请帮忙!

也试过这个:

但这也行不通。

好的,我创建了一个删除触发器来测试一个理论;与我正在修改的文件关联的 FileTable 记录没有更新,而是被删除,并创建了一个全新的记录。好吧,事实证明,对于 Word 女士来说,这是真的。但是,创建了一个纯文本文件,我可以根据需要进行多次更新,并且 stream_id 永远不会改变。因此,Microsoft Word,该应用程序似乎克隆了原始文档,给它一个临时名称,然后,当用户选择保存它时,原始文档被简单地删除,并且克隆重命名为与原始文档相同。那个字节!

0 投票
1 回答
1254 浏览

sql-server - SQL Server 2012 FileTable 无法打开 Outlook 2010 电子邮件

我在 SQL Server 2012 数据库中创建了一个 SQL FileTable。我正在尝试将 Outlook 2010 .msg 文件拖放到 SQL FileTable。我已经尝试对映射到 FileTable 位置以及原始 FileTable 位置的网络驱动器执行此操作,但两次我都收到错误

不支持该请求。

如果我先将文件拖到本地驱动器,然后可以将其复制到 FileTable,但是在尝试打开文件时,我收到以下错误消息:

不能打开文件 。该文件可能不存在,您可能没有打开它的权限,或者它可能在另一个程序中打开。右键单击包含该文件的文件夹,然后单击“属性”以检查您对该文件夹的权限。

如果我将电子邮件从 FileTable 中复制回来,我可以很好地打开它。

我阅读了有关在使用网络驱动器时打开 Outlook 邮件时可能导致问题的其他问题,但我已经对此进行了测试,并且在存储到其他网络位置时这不是问题,并且仅在将其存储到 FileTable 时才会发生。

是否可以将 Outlook 电子邮件存储在 SQL Server 2012 FileTable 中?我一直无法在互联网上找到有关它或其他任何有此问题的信息。

任何有关如何存储 Outlook 消息的帮助将不胜感激。提前致谢。

0 投票
1 回答
1439 浏览

sql-server - 使用 SQL Server 2012 FileTable 创建目录后资源管理器未更新

我正在尝试通过调用以下代码的存储过程在 SQL Server FileTable 中创建目录:

调用此代码后,如果我在 SQL Server Management Studio 中选择行,我可以看到位于文件表中的行,但是如果我通过 Windows 资源管理器浏览到文件表目录,我将看不到新创建的目录。如果我刷新 Windows 资源管理器,则该目录仍然不显示。如果我在资源管理器的文件表目录中创建一个文件,那么它似乎会唤醒资源管理器,然后出现我通过存储过程创建的所有目录。

在同一个 SQL 框和不同的数据库上运行它时,我没有遇到这个问题,我比较了所有属性,它们看起来相同,但我一定遗漏了一些东西,不知道是什么?任何帮助将非常感激。提前致谢

0 投票
4 回答
3727 浏览

sql-server - SQL Server 2012 - 网络访问的文件表权限

我有一个 sql server 2012 实例设置为联网服务器上的文件存储。我需要同一网络上计算机上的所有用户都能够浏览代表文件表的文件系统。但是,所有用户都可以看到服务器和顶级目录,但无权访问/打开它。

我应该查看哪些权限才能启用访问权限。

0 投票
5 回答
366 浏览

c++ - Ubuntu 操作系统中的文件表

linux/Ubuntu OS 是否创建了一个表,该表使用存储在硬盘驱动器上的绝对地址来保存每个文件的条目?

只是想知道,因为我打算制作一个文件搜索程序。

我知道有诸如 find 之类的终端命令,但是我将在 CI 中编程时正在考虑 Ubuntu OS 是否有这样的事情,如果有,我该如何访问该表?

更新:

正如有人提到没有这样的事情,那么如果我想制作一个文件搜索程序,我将不得不搜索每个目录的每个文件夹,从程序根目录开始。生成的程序将非常缓慢并且性能很差!那么有没有更好的方法呢?或者我的方法很好!