对MDB文件的访问,而不需要在asp.net中访问文件系统
本文关键字:访问 asp net 文件系统 不需要 MDB 文件 | 更新日期: 2023-09-27 18:04:27
我有一个来自第三方程序的输入MDB文件。我必须在我的asp .net应用程序中读取它,然后向最终用户请求一些相关的表单。
目前,我可以在文件系统上写入mdb文件并读取它,它工作,但有时此功能不起作用,我必须重新启动服务器。
客户想要外部化服务器,我不能写入文件系统,甚至重新启动它,所以我想从MemoryStream中读取asp .net中的mdb文件,或者可能执行转换为最易读的格式,如XML,但我认为这是不可能的。
所以我正在寻找一个解决方案来预处理访问文件。
我不认为这是可能的阅读它通过javascript(只有vbscript)。
我能想到的唯一办法是:
-
调用一个特殊的应用程序,url代码如app://id id被传送到一个特殊的应用程序在桌面上,他会选择他的文件和内容将通过web服务传输到web应用程序
-
之后,人应该点击一个按钮,他可以处理与该数据相关的不同形式
听起来对最终用户来说有点复杂
有人对那件事有什么看法吗?
编辑
mdb文件通过包含在web表单中的http表单上传。
有时,上传后,应用程序抛出一个异常,它不能使用c:'windows'temp。我有一个错误:不能访问指定的文件。
我没有更好的信息,因为应用程序位于客户的内部网络中,而我不在那里。所以我必须让他们重新启动它
引言:为Access Database配置权限
当Web应用程序使用Access数据库时,应用程序必须有读权限的.mdb文件,以便应用程序可以访问数据。此外,应用程序必须具有写权限包含.mdb文件的文件夹。需要写权限因为Access创建了一个扩展名为.ldb的附加文件其中,它为并发维护有关数据库锁的信息用户。ldb文件是在运行时创建的。[…]因此,在ASP. net中使用Access数据库。. NET Web应用程序;必须将包含Access数据库的文件夹配置为本地ASPNET用户具有读和写权限帐户。
换句话说,如果您没有读写权限,您将无法使用.mdb。
有以下选项
- 如果权限不能做由于安全原因,但你的web服务器有访问。mdb文件的位置(都位于同一网络),那么你的客户端可以设置一个计划的作业,将备份/复制。mdb到另一个位置,在那里asp.net可以有权限与。mdb工作。然而,这将是同步备份。mdb到生产。mdb的问题。
- 设置一个webservice来更新.mdb。它将托管在.mdb所在的服务器上,并具有所有必需的权限。您的应用程序将通过webservice使用.mdb,并且不需要对.mdb有任何权限。
- 将.mdb替换为SQL Server Express