登录注册
上海交通大学论坛 > 数据库 > 浏览当前帖子 手机版 关闭左侧栏
[转载] ODBC 3.0的新功能
返回本版】  【发表帖子】  【回复帖子 浏览量  9660      回帖数 0
laoshu421    等级  

楼主 发表于  2012/6/2 10:38:23    编 辑   


【 以下文字转载自 Program 讨论区 】 
【 原文由 pipishi.bbs@bbs.nju.edu.cn 所发表 】 
ODBC 3.0的新功能 
新软件 

    Microsoft推出的ODBC(Open Database Connectivity)技术为异 
质数据库的访问提供了统一的接口。ODBC基于SQL(Structured Query 
 Language),并把它作为访问数据库的标准。这个接口提供了最大限 
度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同 
的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不 
会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相 
应的驱动程序。 
    ODBC的灵活性表现在以下几个方面: 
    .应用程序不会受制于某种专用的API 
    .SQL语句以源代码的方式直接嵌入在应用程序中 
    .应用程序可以以自己的格式接收和发送数据 
    .ODBC的设计完全和ISO Call-Level Interface兼容 
    .现在的ODBC数据库驱动程序支持55家公司的数据产品 
    最新推出的ODBC 3.0已经升级到32位,支持Win32。 
    ODBC和OLE 
    许多用户现在对ODBC和OLE关系认识很模糊。一些用户认为,ODBC 
正在被OLE取代,而另一些用户则认为,这两项技术是独立互补的。 
    实际上,OLE是一种面向对象技术,用于开发可重用的软件构件。O 
LE构件对象模型从根本上改变了应用程序的开发方式。和传统的构成 
式软件开发方式不同,OLE方法允许应用程序直接使用共享对象,获取 
特殊的功能。例如:文本、图表、电子表格,都可以作为OLE对象。现 
在有Windows和Macintosh两种平台支持OLE对象。 
    ODBC可以和OLE一起工作。微软提供了一组数据对象,称作"OLE D 
B",用于对一组数据库数据的控制。ODBC 3.0完全支持这一组"OLE DB 
"对象通过SQL访问数据库。这为ODBC的客户端软件提供了新的访问数 
据库的方式。 
    ODBC 3.0的新功能 

    1.和X/Open和 ISO CLI兼容 
    ODBC 3.0是X/Open和ISO CLI(Call-Level Interface)标准的超 
集,其增加的功能包括 
    .描述符(Descriptor) 
    描述符是ODBC 3.0提供的最重要的新功能之一。一个描述符是一 
个数据结构,用它来描述一个SQL语句中的动态参数,或者一个返回记 
录集合的栏(column)的信息。描述符提供了对栏信息和参数的一种直 
接的统一访问方式,大大方便了数据库操作。ODBC 3.0的许多增强的 
性能均得益于使用描述符。 
    栏信息和参数由两个描述符来描述。一个描述符存放在应用程序 
的缓冲区中,另外一个相对应地放在服务器端。 
    .诊断(Diagnostics) 
    在ODBC 3.0中,函数调用的返回信息放在诊断区域中。每一个环 
境、连接、声明以及描述符句柄都有一个诊断区域。在诊断区域的头 
字段返回一般的函数执行信息,它的记录字段记录ODBC函数调用的错 
误信息和警告。ODBC 3.0对诊断信息做了以下改进: 
    .诊断区域是可以扩展的 
    .从诊断区域读数据不会发生灾难性错误 
    .状态信息按照它们的级别被记录 
    .可以记录特定的行列错误 
    .目录函数栏名 
    目录函数产生的集合的栏名(column name)和X/Open及ISO CLI标 
准兼容。 
    .新的属性和函数 
    在ODBC 2.0的连接和声明选项在ODBC3.0中已变成属性,应用程序 
可以通过函数调用来访问和修改它们。 
    ODBC 3.0引入了环境属性的概念,通过函数可以访问和设置这些 
属性。实际上这里的属性和ODBC的选项相对应。 
    ODBC 3.0还提供了新的函数,用于处理描述符和诊断区域,还提供 
了处理环境、连接、声明属性的函数。 

    2.对ODBC 2.x功能的标准扩展 
    在ODBC 3.0中,描述符和诊断是可扩展的。 ODBC 2.x的许多功能 
并没有出现在现在的X /Open和ISO CLI文档中。为保证支持这些功能 
,ODBC 3.0引入了附加的描述符和诊断字段。 所有在ODBC 2.x中的连 
接和声明选项,在ODBC 3.0中都有相应的属性。这只不过是名字的更 
改,语义没有发生任何变化。下面的功能是在ODBC 2.x提供的,标准中 
没有,但ODBC 3.0已经通过扩展描述符解决了: 
    .获取多列 
    .参数数组 
    .列范围束定 
    .使用SQLSetPos的定位操作 
    .固定长度的书签 
    .ODBC 游标类型(静态,动态,keyset驱动) 
    .输入输出参数 
    .对存储过程的支持 

    3.ODBC 3.0 API的改进 
    .引入了新的数据类型,如:64位整数,支持数值和小数的C的结构 
等 
    .支持批处理 
    .支持有名字的参数 
    .提供多列读取的扩展的错误信息 
    .改进了书签,如:长度可变,通过书签可以取一列数据 
    .和SQL-92兼容 
    .提供类型信息 
    等等。 

    4.向后兼容 
    ODBC 3.0完全向后兼容。当使用ODBC3.0驱动程序管理器时: 
    .一个ODBC 2.x的应用程序可以运行在ODBC 3.0的驱动程序,或O 
DBC 2.x的驱动程序之上。 
    .一个ODBC 3.0的应用程序运行在ODBC 3.0的驱动程序之上。 
    .如果一个ODBC 3.0的应用程序只使用ODBC 2.x的功能,则它可 
以运行在ODBC 2.x的驱动程序上。 
    注:目前ODBC 3.0可从http:∥www.microsoft.com/odbc/免费下 
载。 
1
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们