ASP连接数据库
<% dim conn dim connstr dim db db=""&Ku_database&"" '设定数据名称,建议改成.asa dim dbset:setdb = 1 '设定连接类型 On error resume next Set conn = Server.CreateObject("ADODB.Connection") select case setdb case "1" connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") case "2" connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(""&db&"") case "3" connstr="driver={SQL Server};server=123;UID=sa;PWD=123;database=kuaspbar" case else connstr= "Dns=kuhang_Sys_data" end select if err.number>0 then err.clear set conn=nothing response.write "数据库连接出错!" Response.End else conn.open connstr if err then err.clear set conn=nothing response.write "数据库连接出错!!!" Response.End end if end if Sub CloseConn() conn.close set conn=nothing End sub %>
输出err或输出err.Number显示的是-2147467259,而err.Description显示的是“未知错误”。
在网上找到决解方法:
出现上述错误实际上是由于MS Jet引擎没有对临时目录”C:\Windows\Temp”的写入权限,导致数据库创建失败。
我的解决方法如下:
1、设置IIS匿名用户,假设现在设为ISUER_ studyer,
2、在C:\Windows\Temp(临时目录)这文件夹上为ISUER_ studyer添加完全控制权限。具体操作:右击Temp文件夹,选择“属性”->“安全”->“编辑”->“添加”->将用户“ISUER_ studyer”添加上,并给予完全控制权限。凡是有关IIS的用户都把它加上去,
3、OK,故障解决。
asp程序错误详细说明例表
平时写程序的时候出错时的解决方法,不太全,但是一般问题应该都有了,呵呵,欢迎大加添加新的错误信息及解决方法
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)-->数据库以只读方式打开,无法更新数据