1.2对于包含有"UPDATE""INSERT""UPDATE"等命令的aspx程序。

  (a)如果db1.mdb是Access2000创建的数据库,出现如下错误:

"/test"应用程序中的服务器错误。

  MicrosoftJet数据库引擎打不开文件'D:wwwroot estdata'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。

  说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

  异常详细信息:System.Data.OleDb.OleDbException:MicrosoftJet数据库引擎打不开文件'D:wwwroot estdata'。它已经被别的用户以独占方式打开,或没有查看数据的权限。

  (b)如果db1.mdb是AccessXP创建的数据库,出现如下错误: "/test"应用程序中的服务器错误。

  操作必须使用一个可更新的查询。

  说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

  异常详细信息:System.Data.OleDb.OleDbException:操作必须使用一个可更新的查询。

  (c)原因初步分析:因为包含有"UPDATE""INSERT""UPDATE"等命令,需要对数据库文件本身进行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。

  我们放开一些权限,

  a) D:wwwroot estdata 文件夹不变;

  b) D:wwwroot estdatadb1.mdb 文件本身给用户ASPNET以如下权限;

允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行  √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
 
  1.3 放开权限后继续实验

  (a)如果db1.mdb是Access2000创建的数据库,出现如下错误: "/test"应用程序中的服务器错误。

  不能锁定文件。

  说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

  异常详细信息:System.Data.OleDb.OleDbException:不能锁定文件。

  (b)如果db1.mdb是AccessXP创建的数据库,没有出现错误。

  (c)原因初步分析:我们发现在打开Access数据库时,同时会在所在目录生成一个同名的*.ldb文件,这是一个Access的锁定标记。鉴于此,我们猜测,用户ASPNET访问Access数据库时,也需要生成一个锁定标记,而该目录没有允许其写入,因此出错。至于AccessXP创建的数据库为什么没有这个错误,原因还不得而知。