以前收集的一些资料---ASP中常见的错误80004005信息和解决办法

80酷酷网    80kuku.com

  错误|解决错误80004005信息处理方法(给小城写的,你好好找找把)

错误信息(错误信息我不用翻译成中文了把,呵呵,大家谅解)
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database
     engine cannot open the file '(unknown)'. It is already opened exclusively
     by another user, or you need permission to view its data.
原因:
     这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录
     没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)
     检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
     这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件
     也可能建立在别的目录,例如 /Winnt.

     使用NT的文件监视程序监视文件失败时到底是访问了什么目录。
     这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com.

     如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,

     还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,
     这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。

     这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用
    本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。
     还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。

错误信息:
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
     already in use.
原因:
     多人使用时数据库被锁定。

错误信息:
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC Driver Manager] Data source name not found and no default
     driver specified.
原因:
     最可能的原因是ConnectString是一个在global.asa中初始化的Session变量     ,但是global.asa
     却没有正常工作。解决办法是,检查赋值时是否正确:(在你的asp中加入下面的代码)
        <%= "'auth_user' is " & request.servervariables("auth_user")%>
        <P>
        <%= "'auth_type' is " & request.servervariables("auth_type")%>
        <P>
        <%= "connection string is " & session("your_connectionstring")%>
        <P>
     还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
                DSN = MyDSN; Database = Pubs;
     试试改成下面这个样子:
                DSN=MyDSN;Database=Pubs;

     如果是global.asa还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。

     还有可能错误出现的原因是DSN名称没找着,这可以采用我提供的id=36767的办法解决。
     最后是检查是否安装了最新的驱动程序,既是否是最新的MDAC版本。

错误信息
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC Driver Manager] Data source name not ??
原因:
     这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
     如果ODBC的版本不一致的话,就会发生该错误。
     解决办法是安装最新版本的MDAC

错误信息:
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
     registry key 'DriverId'.
原因:
     这个错误发生在爱从注册表中读取数值的时候。 使用regedit32.exe检查你的注册表的权限。
     你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。 该程序到这找:http://www.sysinternals.com

错误信息:
     Microsoft OLE DB Provider for ODBC Drivers error '80004005'
     [Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因:
     两个原因:当一个数据库中包含有分别在不用机器上的许可关系时,
     这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。
 &n

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: