如何解决如何在SQL Server 2008中将文件夹映射到表?
| 我正在使用SQL Server 2008。 我有一个表(TBL_FILE),将用户上传的文件存储在二进制列中。但是,用户不想打开我们的系统来访问文件。他们希望有一个映射到表(TBL_FILE)的文件夹(网络驱动器,Web文件夹,本地驱动器,本地文件夹...被接受)。因此,他们可以直接在文件资源管理器中直接打开文件。 关键是他们想直接在文件资源管理器中打开文件。 有可能这样做吗?我需要编写什么样的程序来做到这一点?以及如何做安全性? 谢谢! 亚历克斯解决方法
您是否考虑过编写一个提示登录的应用程序,然后在友好的用户界面中向用户显示文件列表?您可以在该应用程序要放置这些文件的文件夹中放置该应用程序的快捷方式。
如果必须从文件系统直接访问二进制数据字段中的快捷方式,那么您将不得不有点笨拙。根据文件更新的频率,您可以尝试以下选项之一:
1-编写将作为Windows服务或计划作业运行的应用程序。定期检查更改的二进制数据,并将其保存到磁盘。缺点:文件系统只会定期更新,因此数据库更改将不会立即可用。
2-在表上写一个触发器,将二进制文件保存到磁盘。每当行发生更改时触发触发器-最好通过监视“上次修改时间”或类似字段,而不是直接检查二进制值。该触发器可能会触发CLR存储过程,或者您可以使用此处描述的方法直接从T-SQL执行该触发器。
缺点:桌上有一个可能很耗时的触发器。
无论哪种情况,安全性都是Windows文件系统的问题。只要将访问权限授予应该查看文件的人即可。
祝好运!
,在谷歌搜索后,我终于找到了解决这个问题的方法。
我们可以使用.NET技术或其他第三方库创建逻辑驱动器。其中一个库是Doken http://dokan-dev.net/en/。
Doken能够让我们在计算机中创建驱动器并自行执行逻辑。似乎能够将文件夹映射到数据库中的表。但是我还没有尝试过。
谢谢!
亚历克斯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。