ASP学习:错误80004005信息处理方法

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

1.错误信息(错误信息我不用翻译成中文了把,呵呵,大家谅解)

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中的一个表,而这个表却联接在一个网络服务器上。

2.错误信息:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file

already in use.

原因:

多人使用时数据库被锁定。

3.错误信息:

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中加入下面的代码)

还有一个原因就是你在你的ConnectString中加入了多余的空格,例如

DSN = MyDSN; Database = Pubs;

试试改成下面这个样子:

DSN=MyDSN;Database=Pubs;

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有