1 9 9 2年M i c r o s o f t和S y b a s e、D i g i t a l共同制定了O D B C标准接口,以单一的 ODBC API来存取各种不同的数据库。随后O D B C便获得了许多数据库厂商和 T h i r d - P a r t y的支持而逐渐成为标准的数据存取技术。 O D B C以当时的业界标准规范X/Open Call-Level Interface(CLI)和I S O / I E C 9075-3 Call-Level Interface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库。 虽然O D B C在初期的版本中执行效率不佳,而且功能有限,因此也为人们所贬低。 但是,随着M i c r o s o f t不断地改善O D B C,使O D B C的执行效率不断增加, O D B C驱 动程序的功能也日渐齐全。到目前, O D B C已经是一个稳定并且执行效率良好的数 据存取引擎。 不过O D B C仅支持关系数据库,以及传统的数据库数据类型,并且只以C / C + + 语言A P I形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让脚本语 言使用。因此M i c r o s o f t除了O D B C之外,也推出了其他的数据存取技术以满足程序 员不同的需要。4. OLE-DB 随着数据源日益复杂化,现今的应用程序很可能需要从不同的数据源取得数 据,加以处理,再把处理过的数据输出到另外一个数据源中。更麻烦的是这些数 据源可能不是传统的关系数据库,而可能是E x c e l文件,E m a i l或I n t e r n e t / I n t r a n e t上 的电子签名信息。M i c r o s o f t为了让应用程序能够以统一的方式存取各种不同的数 据源,在1 9 9 7年提出了Universal Data Access(UDA)架构。U D A以C O M技术为核心, 协助程序员存取企业中各类不同的数据源。 U D A以O L E - D B (属于操作系统层次的软件)做为技术的骨架。O L E - D B定义了 统一的C O M接口做为存取各类异质数据源的标准,并且封装在一组C O M对象之中。 藉由O L E - D B,程序员就可以使用一致的方式来存取各种数据。 5. ADO 虽然O L E - D B允许程序员存取各类数据,是一个非常良好的架构,但是由于 O L E - D B太底层化,而且在使用上非常复杂,需要程序员拥有高超的技巧,因此只 有少数的程序员才有办法使用O L E - D B。这让O L E - D B无法广为流行。为了解决这 个问题,并且让V B和脚本语言也能够藉由O L E - D B存取各种数据源, M i c r o s o f t同 样以C O M技术封装O L E - D B为A D O对象,简化了程序员数据存取的工作。由于 A D O成功地封装了O L E - D B大部分的功能,并且大量简化了数据存取工作,因此 A D O也逐渐被愈来愈多的程序员所接受
一、ADO对象模型:
下面简单介绍一下ADO的对象模型
ADO有三大对象,即Connection对象,Command对象,RecordSet对象.
Connection(对象)
─Errors(集合)─Error(对象)
Command(对象)
─Parameters(集合)─Parameter(对象)
RecordSet(对象)
─Fields(集合)─Field(对象)
ODBC API来存取各种不同的数据库。随后O D B C便获得了许多数据库厂商和
T h i r d - P a r t y的支持而逐渐成为标准的数据存取技术。
O D B C以当时的业界标准规范X/Open Call-Level Interface(CLI)和I S O / I E C
9075-3 Call-Level Interface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库。
虽然O D B C在初期的版本中执行效率不佳,而且功能有限,因此也为人们所贬低。
但是,随着M i c r o s o f t不断地改善O D B C,使O D B C的执行效率不断增加, O D B C驱
动程序的功能也日渐齐全。到目前, O D B C已经是一个稳定并且执行效率良好的数
据存取引擎。
不过O D B C仅支持关系数据库,以及传统的数据库数据类型,并且只以C / C + +
语言A P I形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让脚本语
言使用。因此M i c r o s o f t除了O D B C之外,也推出了其他的数据存取技术以满足程序
员不同的需要。4. OLE-DB
随着数据源日益复杂化,现今的应用程序很可能需要从不同的数据源取得数
据,加以处理,再把处理过的数据输出到另外一个数据源中。更麻烦的是这些数
据源可能不是传统的关系数据库,而可能是E x c e l文件,E m a i l或I n t e r n e t / I n t r a n e t上
的电子签名信息。M i c r o s o f t为了让应用程序能够以统一的方式存取各种不同的数
据源,在1 9 9 7年提出了Universal Data Access(UDA)架构。U D A以C O M技术为核心,
协助程序员存取企业中各类不同的数据源。
U D A以O L E - D B (属于操作系统层次的软件)做为技术的骨架。O L E - D B定义了
统一的C O M接口做为存取各类异质数据源的标准,并且封装在一组C O M对象之中。
藉由O L E - D B,程序员就可以使用一致的方式来存取各种数据。
5. ADO
虽然O L E - D B允许程序员存取各类数据,是一个非常良好的架构,但是由于
O L E - D B太底层化,而且在使用上非常复杂,需要程序员拥有高超的技巧,因此只
有少数的程序员才有办法使用O L E - D B。这让O L E - D B无法广为流行。为了解决这
个问题,并且让V B和脚本语言也能够藉由O L E - D B存取各种数据源, M i c r o s o f t同
样以C O M技术封装O L E - D B为A D O对象,简化了程序员数据存取的工作。由于
A D O成功地封装了O L E - D B大部分的功能,并且大量简化了数据存取工作,因此
A D O也逐渐被愈来愈多的程序员所接受