ASP错误信息总汇

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中加入下面的代码) 
<%= "'auth_user' is " & request.servervariables("auth_user")%> 

<%= "'auth_type' is " & request.servervariables("auth_type")%> 

<%= "connection string is " & session("your_connectionstring")%> 

还有一个原因就是你在你的ConnectString中加入了多余的空格,例如 
DSN = MyDSN; Database = Pubs; 
试试改成下面这个样子: 
DSN=MyDSN;Database=Pubs; 

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

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

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

5.错误信息: 
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 

6.错误信息: 
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()). 
原因: 
两个原因:当一个数据库中包含有分别在不用机器上的许可关系时, 
这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。 
错误原因是: 
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器, 
另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。 
这样它就不允许你访问它上面的资源,导致错误。 

两个解决办法: 
1。在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录) 
2。或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。 

7.错误信息 
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映射了帐号。 

8.错误信息 
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选项。 

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

10.错误信息 
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被使用到另外一台机器上的时候。 

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

原因: 
查询太复杂了,对查询有限制。 

12.错误信息: 
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还使用了原来的机器名。

平时写程序的时候出错时的解决方法,不太全,但是一般问题应该都有了,呵呵,欢迎大加添加新的错误信息及解决方法
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件

MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库
MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表

MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)
MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)
MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop
MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif
MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")")
MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)
MicrosoftVBscript运行时错误(0x800A005B)-->缺少set
MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义
MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then
MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误
MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误

ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据

版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i9.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>