使用速度更快的OLEDB取代ODBC连结

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

仍旧在使用ODBC系统或文件DSN连接数据库吗?请用速度更快的OLEDB提供者技术取代DSN连接数据库,不必再恳求你的ISP(或你的数据库管理员/Web管理员)为你创建系统DSN,也不必因为移动文件而修改配置。

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记录集迭代的性能差别不大)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航