当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > SQL注入80004005 及其它错误消息

安全防护
抵御黑客入侵防护服务器安全的七个技巧
教你六招处理服务器数据意外丢失
Windows系统中常用密码的破解方法
如何保护虚拟机环境下的数据安全
服务器数据意外丢失的正确处理方法
windows 2003 服务器安全攻略
让关闭的Linux操作系统实现防火墙
六种措施 全面有效保护OFFICE文档安全
CC攻击防护的asp代码
数据安全谈:看 NFS网络文件系统的安全
木马赚流量牟暴利 非法篡改IE浏览器首页
数据库安全防护几点介绍
常见的服务器安全管理漏洞
黑客攻破SQL服务器系统的十种方法
严守七道关 保证Web数据库安全性
避免攻击保证上传FTP服务器的安全
如何防范Linux操作系统下缓冲区溢出攻击
避免遭受攻击 七个技巧保护服务器安全
新手入门 服务器系统维护与安全配置
网络安全教程:抵御远程访问的入侵

安全防护 中的 SQL注入80004005 及其它错误消息


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 74 ::
收藏到网摘: n/a

文章中的信息适用于:
Microsoft Data Access Components versions 1.5, 2.0, 2.1, 2.5
Active Server Pages
Microsoft Visual InterDev, version 1.0
----------------------------------------------------------------------------
概要
本文详细讲述了 Microsoft 数据访问组件 (MDAC) 收到 0x800040005 错误的一些常见原因,MDAC 包括 ActiveX 数据对象、OLE DB 和远程数据服务 (RDS)。 同时,本文还讨论了其它一些错误消息,包括 80040e21、80040e14 和80040e10。

更多信息
80004005 错误消息可归纳为:“出于某种原因,我无法访问您的数据”。 本文给出了各种 80004005 错误消息的列表、其中列举了这些错误消息的最常见起因及其疑难解答步骤。 虽然本文假定您是在 Active Server Page (ASP) 页面(.asp) 中使用 ActiveX 数据对象 (ADO),但这些起因和很多疑难解答步骤同样适用于任何其它通过 ODBC 访问数据的环境。

错误消息列表
这一节我们介绍了各种错误消息的文本,以及导致错误的原因。

错误消息
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.

原因
该错误的发生,通常是因为 Internet Information Server (IIS) 所使用的帐户(通常是 IUSR)没有正确的 Windows NT 权限,因而无法访问基于文件的数据库或包含文件的文件夹。请检查这些文件和文件夹的权限设置。 确认您能够创建和/或删除任何临时文件。 临时
文件一般都创建在与数据库相同的文件夹下,但也可以创建在其它文件夹下,如 /Winnt。您可以使用 Windows NT 文件监视器来检查访问文件失败的原因。 Windows NT 文件监视器可从以下 Web 站点上得到:

http://www.sysinternals.com。

如果您使用的是该数据库的网络路径(UNC 或映像驱动器),请检查共享、文件及文件夹上的权限。确认文件及数据源名 (DSN) 没有被标记为独占方式。使用一个使用本地驱动器号的系统 DSN。 如有必要,把数据库移至本地驱动器,然后对其进行测试。错误消息中的 other user(其它用户)有可能是 Visual InterDev。 请关闭任何包含该数据库数据连接的 Visual InterDev 工程。

错误也可能是由委派问题引起的。 检查可能存在的任何身份验证方法(“基本”而不是NTLM)。 如果连接字符串使用的是统一命名约定 (UNC),请尝试使用“基本身份验证”或一个绝对路径,如 C:\Mydata\Data.mdb。即使 UNC 指向的资源位于本地 IIS 计算机,前述错误也有可能发生。

当访问链接到某个表的 Microsoft Access 数据库时,如果这一表处在网络服务器上的Access 数据库中,这一错误也有可能发生。 这种情况下,请参见以下 Microsoft Knowledge Base 文章以找到可行的解决方法:

Q189408 PRB: ASP 无法访问 IIS 4.0 下的网络文件
错误消息Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file already in use.

原因
数据库无法正确地为多个用户锁定。 详细信息请参见以下 Microsoft Knowledge Base文章:

Q174943 PRB: 80004005“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.

原因
最常见的原因是因为 Global.asa 和 Global.asa 中初始化的连接字符串会话变量没有激发。 您可以通过在 .asp 页面中加入以下代码,来检查该变量有没有正确地初始化:

另一个常见原因是因为所使用的连接字符串中有太多的空格。