» 网友学堂 » ASP教程 » ASP里对于链接数据库出错的一点经验总结
ASP里对于链接数据库出错的一点经验总结
作者:ljjk5 发表时间:2008-1-12 15:33 阅读:574次 在百度搜索相关内容

 首先申明,我不是什么高手,只是结合自己的那点微不足道的经验,以及一直有人在QQ上问我,很多相关数据库操作的问题,大多总接下来,其实和很多ASP程序员自己对数据库相关知识的领会多少有关系,刚好今天在CSDN上看到有人在讨论这样的问题,我觉得有必要理清楚很多自己或他人不清楚的内容。   对与数据库操作的理解,看看下面的内容,也许会更清楚一些!
  1) 用SET建立连接对象 (这里是建立程序和数据库操作通道,
set cnobj = Server.CreateObject("ADODB.Connection")
  2)给出数据库驱动的生产厂商和版本号以及你的ACCESS数据库所在的位置
strcon="provider=microsoft.jet.oledb.4.0;data source="&Server.MapPath("/wang/data/bbs.mdb")
  记住:strcon是字符串变量你可以随便给,server.mappath是取数据库的磁盘路径,后面所跟的一定是站点路经。
  本句也可以写成:
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("("/wang/data/bbs.mdb")")
  3)用链接对象的OPEN方法打开数据库
cnobj.Open strcon
  到此连接完成,后面就是建立记录集对象了,如:
set rstobj=server.createobject("adodb.recordset") '此句用SET语句建立记录集对象RSTOBJ
set rstobj=cnobj.execute("select * from users") '此句利用cnobj对象的execute方法执行SELECT查询语句,users是库中的表名称
  带密码的连接:
Conn1.Open "Provider=Microsoft.JET.OLEDB.3.51;" & _
"Data Source=G:\ComponentSource\DBFiles\CSMain\CSMain.mdb;" &
"Jet OLEDB database Password=outlook"
  问题现象比较多的一类就是:
  以前一切正常的程序,现在运行的时候提示如下信息:
Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x570 Thread 0x738 DBC 0x242e404 Jet'。
/bbs/index.asp,行7
  为什么?我也说不清楚,但是我的经验就是这样,因为Windows2000 SP2以后的新bug造成的。也许微软不喜欢ODBC了,所以出此下策。正确的方法是使用OLEDB来连接Access。连接字符串为:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库文件名
  我不知道我这样理解对不对,OLEDB比ODBC更直接面向数据库,这样打个比方,如果你希望到电影院去看电影,从家里出门,有两路车可以到电影院,两路车为100路和10路,100路车需要在某站下车然后换10路在走一个站可以到电影院,10路当然可以直接到电影院,可能都成习惯了,搭公车喜欢做100路车,呵!虽然我也知道10路可以直达目的地。这里非常罗嗦,也有些不符合一般常人的逻辑(大款除外),问题是我要说的ODBC和OLEDB就相单于100路和10路。而电影院就是我们要操作的数据库。那我们为什么不使用OLEDB呢?不怕见笑。我现在想的就是这样。这个问题实在太普遍了!所以说得这么多!
<%
dim DB
DB="数据库名" '定义数据库路径及名称
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
%>
  解接问题必须注意使用上面的连接方式! 还有很多,今天先说这些,如果我的理解有不正确的地方,希望高手牛人指正!
另外向大家推荐一款很不错的500M独立主机,高速稳定,原价1650元/年,现价只需1580元/年,还附送域名,繁简通,CDN加速器!我感觉是一个很不错的机会,就拿来和大家分享了!

#Advertisement