问题描述
源代码<%Response.ExpiresAbsolute=Now()-1Response.Expires=0Response.CacheControl="no-cache"dimdb,conn,connstr'db="data/xycmsbook.mdb"Setconn=server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.MapPath("data/xycmsbook.mdb")conn.Open(connstr)IfErrThenerr.ClearSetconn=NothingResponse.Write"数据库连接出错,请检查连接字串。"Response.EndEndIf%>出错为技术信息(用于支持人员)错误类型:Server对象,ASP0177(0x800401F3)无效的类别字符串/test2/conn.asp,第7行浏览器类型:Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0;.NETCLR2.0.50727;MS-RTCLM8;.NETCLR3.0.04506.648;.NETCLR3.5.21022;InfoPath.1)网页:GET/test2/conn.asp时间:2009年12月2日,10:45:26详细信息:Microsoft支持
解决方案
解决方案二:
这段语句看不出有什么错误
解决方案三:
估计是路径问题connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.MapPath("/data/xycmsbook.mdb")("/data/xycmsbook.mdb")最好能从根目录找起
解决方案四:
跟踪下,在执行过Setconn=server.CreateObject("ADODB.Connection")后conn还是nothing是这个问题吗,怎么修改?
解决方案五:
终于发现问题了,汗。两天啊!网上搜索了一下才知道原来是相关的组件未注册,但是之前明明的好的,已经注册了的啊,又没有去卸过。忽想起前天我删掉的那些键值,莫非我将ADODB当成ADOBE给删了,汗,眼花了。无奈只好继续搜索,找到以下解决方法,就是重新注册一下DLL。regsvr32"c:ProgramFilesCommonFilesSystemAdoMsado15.dll"这个是重新注册ADODB.Recordset的,Connection的解决方法是重新将键值写入注册表,反正我也不懂,随便拷贝过来导入了。WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOTADODB.Connection]@="ADODB.Connection"[HKEY_CLASSES_ROOTADODB.ConnectionCLSID]@="{00000514-0000-0010-8000-00AA006D2EA4}"[HKEY_CLASSES_ROOTADODB.ConnectionCurVer]@="ADODB.Connection.2.80"最后问题是解决了,不过不知道还有哪些地方会出错,如果有朋友有更好的解决方法,也希望能提供下,嘿
解决方案六:
莫非你没有开启服务