使用速度更快的OLEDB取代ODBC连结
浏览次数:【431】 发布日期:2009-8-13 12:09:22 文章分类:Asp编程
仍旧在使用ODBC系统或文件DSN连接数据库么?请用速度更快的O LED B提供者技术取代DSN连接数据库,不必再恳求你的ISP(或你的数据库管理员/Web管理员)为你建立系统DSN,也不必因为移动文件而更改配置。
O LED B处于ODBC层和应用之间。对于ASP页面而言,ADO是O LED B上面的一种“应用”。ADO调用首先发送给O LED B,然后才被发送给ODBC层。可是你也可以直接连接到O LED B层,而且假如你这么做了,你就会看到性能的进一步提高。那么,如何才能直接连接到O LED B呢?
假如你使用的是SQL Server 7,用下面的代码作为连接串:
strConnString = "DSN='';DRIVER={SQL SERVER};" & _
"UID=myuid;PWD=mypwd;" & _
"DATABASE=MyDb;SERVER=MyServer;"
假如你想越过ODBC,通过O LED B使用SQL Server,使用下面的语法:
strConnString ="Provider=SQLO LED B.1;Password=mypassword;" & _
"Persist Security Info=True;User ID=myuid;" & _
"Initial Catalog=mydbname;" & _
"Data Source=myserver;Connect Timeout=15"
现在你或许想了解学习这种新的连接方法有啥好处。为啥不使用标准的使用DSN方法呢?根据Wrox在ADO 2.0 Programmer's Reference这本书中的测试结果,使用O LED B连接和使用DSN连接性能不同如下表:
<table>
<th><td>SQL</td><td>Access</td></th>
<tr><td>项目 O LED B DSN</td><td>项目 O LED B DSN</td></tr>
<tr><td>连接时间: 18 82</td><td>连接时间: 62 99</td</tr>
<tr><td>迭代1000个记录的时间: 2900 5400</td><td>迭代1000个记录的时间: 100 950 </td></tr>
</table>
注:上述结果在ADO 2.0 Programmer's Reference这本书的232、233页。时间以毫秒计,迭代1000个记录的时间用服务器端游标计算(使用客户端游标时,O LED B和DSN记录集迭代的性能不同不大)。