使用速度更快的OLEDB取代ODBC连结
使用速度更快的OLEDB取代ODBC连结,使用速度更快的OLEDB取代ODBC连结
OLEDB处于ODBC层和应用之间。对于ASP页面来说,ADO是OLEDB上面的一种“应用”。ADO调用首先发送给OLEDB,然后才被发送给ODBC层。但是你也可以直接连接到OLEDB层,而且如果你这么做了,你就会看到性能的进一步提升。那么,如何才能直接连接到OLEDB呢?
如果你使用的是SQL Server 7,用下面的代码作为连接串:
strConnString = "DSN='';DRIVER={SQL SERVER};" & _
"UID=myuid;PWD=mypwd;" & _
"DATABASE=MyDb;SERVER=MyServer;"
如果你想越过ODBC,通过OLEDB使用SQL Server,使用下面的语法:
strConnString ="Provider=SQLOLEDB.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这本书中的测试结果,使用OLEDB连接和使用DSN连接性能差异如下表:
<table
<th<tdSQL</td<tdAccess</td</th
<tr<td项目 OLEDB DSN</td<td项目 OLEDB 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个记录的时间用服务器端游标计算(使用客户端游标时,OLEDB和DSN记录集迭代的性能差别不大)。