授予对master.sys.xp_dirtree SQL

时间:2017-04-28 17:28:56

标签: sql-server

这里的其他地方可能有答案,但我找不到。

我的组织使用名为TIER的EHR,它具有SQL后端。 EHR的一个特点是你可以扫描"文档到网络上的文件夹,其中包含服务器上表中行的唯一ID。然后,从EHR,您可以打开表中的记录,然后链接到具有相同唯一ID的文件夹中的文档。

示例可能会有所帮助 - 在EHR中,我创建了一个文档(ScannedFormTable中的一行),其唯一ID为100.然后"扫描" (基本上附加或复制)pdf或其他文档到网络上的文件夹(例如D:\ ScannedDocuments),名称为100,因此abc.pdf现在位于D:\ ScannedDocuments \ 100中。然后从EHR的文档中,我可以打开pdf。但是,如果不打开文档进行检查,我无法查看... \ 100文件夹中是否有任何文件。

通过一些谷歌搜索,我发现使用master.sys.xp_dirtree(以及"未记载"我认为的程序)我可以使用EHR"参见"文件的名称"附件"到文件。问题是我可以从SSMS运行这个存储过程,但不能从EHR本身运行。我试图找出一种方法来为EHR中的用户授予安全权限,以便在服务器上定期运行脚本并在后台运行脚本。

任何见解都将不胜感激。你可能已经注意到了#34;使用过,我是一个自学成才的SQL用户,他在谷歌搜索方面比在实际理解语言错综复杂方面做得更好。

1 个答案:

答案 0 :(得分:0)

我发现使用master.sys.xp_dirtree(和我认为的“未记录的”程序)我可以让EHR“看到”文件的名称“附加”到文件中。

我认为你混淆了不同的事情。是的,您可以(并且tsql可以)使用该未记录且不受支持的过程。但是,您的“EHR”是一个旨在提供特定功能的系统。目前尚不清楚你想要完成什么,但要“获得”你的系统做某事显然取决于你的系统,它的功能,以及你实际想要完成的事情。

我将补充说,tsql不是为了本地访问文件系统而设计的 - 因此使用了未记录的扩展过程。如果您只是尝试验证或遍历此ScannedFormtable表并验证在适当的位置存在某种类型的文件,您可能会发现此任务更容易在典型的编程语言中实现。

如果您想要更好的建议,有助于讨论您的目标。并仔细考虑您要做的事情,因为通过更改权限来创建安全漏洞非常容易。