Chinaunix首页 | 论坛 | 博客
  • 博客访问: 416890
  • 博文数量: 168
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-09 13:46
文章分类

全部博文(168)

文章存档

2015年(51)

2014年(30)

2013年(87)

我的朋友

分类: 数据库开发技术

2015-07-27 13:44:52

原文地址:[转]ODBC ADO OLEDB三者区别 作者:54xw

   转一篇文章,虽然还不是很了解,但至少有个概念

 

       起初,出现的是odbc提供c的函数调用接口,定义了一组通用的数据库API,但速度比较慢, ole db是微软的第三代组件结构,速度较odbc快,而adooledb的一个子集,是com组件,更快,更高效。

  odbc,oledb,ado,adox的关系:
  odbc: 
曾经的数据库通信标准
  oledb:
在一切对象化的趋势下,ms打算用它取代odbc, oledb分两种:直接的oledb和面向odbcoledb,后者架构在odbc上,这样没有自己的oledb提供者的数据库也可以使用oledb的特点了。
 
ado:   其实只是一个应用程序层次的界面,它用oledb来与数据库通信。
  adox: 
ado的安全性,维护性(如:创建一个数据库)进行了扩展。


    1.
odbc连接数据库:
odbc
中提供三种dsn,它们的区别很简单:用户dsn只能用于本用户。系统dsn和文件dsn的区别只在于连接信息的存放位置不同:系统dsn存放在odbc储存区里,而文件dsn则放在一个文本文件中。
 
它们的创建方法就不说了。
 
asp中使用它们时,写法如下:
  A.sql server:
    
用系统dsn: connstr="DSN=dsnname; UID=xx; PWD=xxx;DATABASE=dbname"
    
用文件
dsn: connstr="FILEDSN=xx;  UID=xx; PWD=xxx;DATABASE=dbname"
    
还可以用连接字符串(从而不用再建立
dsn):
       connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx"
  B.access:
    
用系统
dsn: connstr="DSN=dsnname"
          (
或者为:
connstr="DSN=dsnname;UID=xx;PWD=xxx")
    
用文件
dsn: connstr="FILEDSN=xx"
    
还可以用连接字符串(从而不用再建立
dsn):
       connstr="DRIVER={Microsoft Access Driver};DBQ=d:\abc\abc.mdb"

2,oledb连接数据库:
   A.sql server:
     connstr="PROVIDER=SQLOLEDB;
         DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"
   B.access:
     connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
         DATA SOURCE=c:\abc\abc.mdb"

3.使用UDL文件:
  UDL
文件是用来存放数据库连接信息的一个文本文件,有点象文件DSN,不过UDL是针对OLEDB(直接的和面向ODBC的)的。
  UDL
的创建方法:
   右击桌面或资源管理器-->新建-->microsoft数据连接

 

    其中的设置工作应该比较清楚了。
 
UDL的用法:
    connstr="file name=e:\abc\abc.udl


ADO
不是比ODBCOLEDB高级些,而是高层些

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