Chinaunix首页 | 论坛 | 博客
  • 博客访问: 552672
  • 博文数量: 609
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4995
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:59
文章分类

全部博文(609)

文章存档

2011年(1)

2008年(608)

我的朋友

分类:

2008-10-17 14:21:10


  仍旧在使用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>< td>SQL< /td>< td>Access< /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记录集迭代的性能差别不大)。
【责编:admin】

--------------------next---------------------

阅读(343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~