这个简单啦,80%是权限问题:
解决办法:
第一步:“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”.
第二步:“开始”->“管理工具”->“Internet 信息服务”->展开左侧的本地计算机->右击“网站”属性->选择“目录安全性”->点“编辑”然后在弹出的对话框中确保只选中了“匿名访问”和“集成Windows验证”两项,单击匿名访问中的编辑,去掉“允许IIS控制密码”然后保存设置就可以
如果再不行,把IIS映射的文件夹设为所有人都可读取
这种情况一般是IIS造成的。我曾经多次碰到。
重装IIS,大部分时候都可以解决这个问题,但是不绝对。
存有网页的服务器在不在你的控制之类?
如果没有在你的控制之类,就只能联系网站服务器的管理员来重装了。
在控制面板、添加删除程序里面重装。
IIS——
Internet Information Server
Internet信息服务
在操作系统里面,很多时候显示为Internet服务管理器。
重装之后,在控制面板、管理工具里面可以找到。
ASP中常见的80004005错误原因及解决
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet databaseengine 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")%>
还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSNDatabase = Pubs
试试改成下面这个样子:
DSN=MyDSNDatabase=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路径,而另一个关系却是本地路径。
错误原因是:
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器,另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。
两个解决办法:
1。在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录)
2。或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ Microsoft][ODBC Microsoft SQL Driver] Logon Failed()
原因:
该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录,也可能是在NT中没有SQL影射帐号造成的。
使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。
因为DSN中没有保存用户名和密码。
检查NT是否给SQL映射了帐号。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection.
原因:
原因同上。
试试这个办法:在SQL Server的Enterprise Manager中,选择Server/SQL Server/Configure[ASCII 133]/Security Options/Standard.
如果是运行在IIS4中,取消选择该项目的Password Synchronization选项。
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] Couldn’t lock file.
原因:
也许是没有正确的权限生成Access数据库的锁定文件(.ldb)默认时,该文件和你的数据库是同一个目录的。给匿名帐号全权访问数据库共享目录的权限。
有时是因为文件是因为共享时有意使用了只读的权限限制。试试使用下面的代码。
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeShareDenyWrite ’8
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] ’(unknown)’ isn’t a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
原因:
路径非法。最可能发生在当Global.asa和CoonecntString被使用到另外一台机器上的时候。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC SQL Server Driver][SQL Server] The query and the views in it exceed the limit of 16 tables.
原因:
查询太复杂了,对查询有限制。
---------------------------------------------------------------------
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC SQL Server Driver][DBMSSOCN] General network error. Check your network document
原因: 当装有SQL Server的机器改名的时候。但是DSN还使用了原来的机器名。
IIS HTTP 错误 405.0 - Method Not Allowed是设置错误造成的,解决方法为:
1、首先打开IIS管理器,如图所示,点击IIS用户名称。
2、如图所示:用鼠标点击IIS用户主页右边的滚动条,滑动至[IIS]项目处。
3、双击[IIS]项目处里面的[错误页]如图所示,或点击右上角的[打开功能]。
4、如图所示,进入错误页后,先双击[404]选项。
5、双击[404]选项后,会出现[编辑自定义错误页]在这里面,如图所示,选择[在此网站执行],并如图所示,在下面的[URL]里面填写你编辑的404页面的路径,完了后点击[确定]
6、点击右边的[编辑功能设置],如图所示。
7、点击[编辑功能设置]后,会进入[编辑错误页面设置],如图所示,按照图中所做示例,选择[自定义错误页]和下面[路径]中编辑的404页面路径填写进去,再将[路径类型]选择为[执行]就可以了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)