注册 登录
编程论坛 ASP技术论坛

asp中2种链接数据库的conn.asp写法,哪个更好?

sjzfls 发布于 2010-11-29 09:14, 1049 次点击
2种链接数据库的conn.asp文件的写法,哪个更好?更安全,速度更快?
或者朋友们还有什么更好更快的方法??

1:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("Data/data.mdb")
%>


2:
<%
dim conn
dbpath="data.mdb"
Set conn = Server.CreateObject
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath
conn.open connstr
If Err Then
err.Clear
Set conn = Nothing
Response.Write "数据库连接出错,请稍候访问。"
Response.End
End If
'新闻阅读模块
Dim News_title,News_content
Sub ReadNews
set rs1=server.createobject
sql1="select id,title,content from article where id="& ID
rs1.open sql1,conn,3,3
News_title=rs1
News_content=rs1
rs1.close
set rs1=Nothing
End Sub
%>
6 回复
#2
yms1232010-11-29 10:07
个人觉得效率都差不多,没什么区别
#3
jansonwang2010-11-29 14:24
我喜欢第一种啦,看起来简单啦
#4
sjzfls2010-11-29 16:23
ACCESS 数据库连接
通常数据库连接有两种方式,新手基本不知道用哪一种方式,或者在什么情况下用哪一种,又或者不知道两者的原理
①直接连接数据库文件
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("database/yanhang.mdb")

②通过数据源来连接数据库文件
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("database/yanhang.mdb")

那么,两者到底哪一个好呢,当然是第二种,因为第一种其实就是客户端浏览器直接读取数据库的,所以安全方面差很多,第二种通过数据源连接,是以服务器数据源工具连接的,与客户端没关系,所以数据库不会暴露给客户端,安全系数高很多。

应该是有道理的吧??
#5
巴人2010-11-30 11:09
楼上的高见!
#6
nvzhanshi2010-11-30 16:04
以下是引用sjzfls在2010-11-29 16:23:54的发言:

ACCESS 数据库连接
通常数据库连接有两种方式,新手基本不知道用哪一种方式,或者在什么情况下用哪一种,又或者不知道两者的原理
①直接连接数据库文件
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("database/yanhang.mdb")

②通过数据源来连接数据库文件
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("database/yanhang.mdb")

那么,两者到底哪一个好呢,当然是第二种,因为第一种其实就是客户端浏览器直接读取数据库的,所以安全方面差很多,第二种通过数据源连接,是以服务器数据源工具连接的,与客户端没关系,所以数据库不会暴露给客户端,安全系数高很多。

应该是有道理的吧??
攒一个!
#7
不倒翁h2010-12-01 12:56
原来是这样呀!我以前不知道,只管用。现在明白了!谢谢楼主!以后就用第二种了!
1