关于置顶帖< 新手asp编程的基本法则>的不同看法
①直接连接数据库文件
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")
那么,两者到底哪一个好呢,当然是第二种,因为第一种其实就是客户端浏览器直接读取数据库的,所以安全方面差很多,第二种通过数据源连接,是以服务器数据源工具连接的,与客户端没关系,所以数据库不会暴露给客户端,安全系数高很多。
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")
那么,两者到底哪一个好呢,当然是第二种,因为第一种其实就是客户端浏览器直接读取数据库的,所以安全方面差很多,第二种通过数据源连接,是以服务器数据源工具连接的,与客户端没关系,所以数据库不会暴露给客户端,安全系数高很多。
这种说法是从哪里来的啊?完全没道理啊
除非你写的方式是写在vbs脚本里面,但是那样就不可能用Server.mappath了,正常的话都是放在<%%>之间,由iis通过asp.dll解析.根本不可能发送到客户端浏览器.所以这种说法毫无意义.
准确的说法是第一种是通过dsn方式连接的,与后一种oledb方式比较起来有一些区别.
1.执行速度不同,后一种要快很多,尤其在十万以上数据量输出的时候,select * from tb语句可能会差到10倍的时间.
2.两种方式得到的rs对象不同.记得前一种方式没法用rs.recordCount
感觉这个资料不是什么太正确的东西,很可能是由新手写的学习笔记,感觉还是不要在置顶帖里面误导新手比较好.
至于看法还有别的,秃笔啃特牛....