数据库接口技术——ODBC

上传人:xmg****18 文档编号:111770973 上传时间:2019-11-03 格式:PPT 页数:100 大小:1.61MB
返回 下载 相关 举报
数据库接口技术——ODBC_第1页
第1页 / 共100页
数据库接口技术——ODBC_第2页
第2页 / 共100页
数据库接口技术——ODBC_第3页
第3页 / 共100页
数据库接口技术——ODBC_第4页
第4页 / 共100页
数据库接口技术——ODBC_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《数据库接口技术——ODBC》由会员分享,可在线阅读,更多相关《数据库接口技术——ODBC(100页珍藏版)》请在金锄头文库上搜索。

1、数据库接口技术ODBC,PKU,数据库接口技术的分类,PKU,ODBC,ODBC : Open DataBase Connectivity 开放式数据库联接 Microsoft引进这种技术的一个主要目的是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。,PKU,ODBC的产生背景,关系型数据库产生后很快就成为数据库系统的主流产品,由于每个DBMS厂商都有自己的一套标准,人们很早就产生了标准化的想法,于是产生了SQL,由于其语法规范逐渐为人所接受,成为RDBMS上的主导语言。最初,各数据库厂商为了解决互连的问题,往往提供嵌入式SQL API,用户在客户机端要操作系统中的RDBMS

2、时,往往要在程序中嵌入SQL语句进行预编译。由于不同厂商在数据格式、数据操作、具体实现甚至语法方面都具有不同程度的差异,所以彼此不能兼容。,PKU,ODBC的产生,1991年11月,微软宣布了ODBC,次年推出可用版本。 1992年2月,推出了ODBC SDK 2.0版。 ODBC基于SAG的SQL CAE草案所规定的语法,共分为Core、Level 1、 Level 2三种定义,分别规范了22、16、13共51条命令,其中29条命令甚至超越了SAG CLI中原有的定义,功能强大而灵活。它还包括标准的错误代码集、标准的连接和登录DBMS方法、标准的数据类型表示等。,PKU,ODBC的发展,由于

3、当时ODBC思想上的先进性,且没有同类的标准或产品与之竞争,它一枝独秀,推出后仅仅两三年就受到了众多厂家与用户的青睐,成为一种广为接受的标准。目前,已经有130多家独立厂商宣布了对ODBC的支持,常见的DBMS都提供了ODBC的驱动接口,这些厂商包括Oracle、Sybase、Informix、Ingres、IBM(DB/2)、DEC(RDB)、HP(ALLBASE/SQL)、Gupta、Borland(Paradox)等。目前,ODBC已经成为客户机/服务器系统中的一个重要支持技术。,PKU,ODBC的基本思想,为用户提供简单、标准、透明的数据库连接的公共编程接口 。,ODBC 基本思想,开

4、发厂商根据ODBC的标准去实现底层的驱动程序 。,PKU,ODBC与传统方式的比较,传统方式,ODBC,PKU,ODBC的特点,PKU,ODBC的体系结构和实现,ODBC是依靠分层结构来实现的 具体分为四层: 应用程序 驱动程序管理器 驱动程序 数据源,PKU,体系结构,应用程序,驱动程序管理器,驱动程序,数据源,PKU,应用程序层,使用ODBC接口的应用程序可执行以下任务: 请求与数据源的连接和会话(SQLConnect) 向数据源发送SQL请求(SQLExecDirct或SQLExecute) 对SQL请求的结果定义存储区和数据格式 请求结果 处理错误 如果需要,把结果返回给用户 对事务进

5、行控制,请求执行或回退操作(SQLTransact) 终止对数据源的连接(SQLDisconnect)。,PKU,驱动程序管理程序功能,为ODBC提供提供参数和次数验证,为每一个驱动程序提供ODBC函数入口地点,处理几个ODBC的初始化调用,PKU,驱动程序功能,建立与数据源的连接 向数据源提交请求 在应用程序需求时,转换数据格式 返回结果给应用程序 将运行错误格式化为标准代码返回 在需要时说明和处理光标。,PKU,数据源的组成,数据源,网络环境,数据,PKU,ODBC的接口函数,I. 连接数据源(Connecting to a Data Source) SQLAllocEnv SQLAllo

6、cConnect SQLConnect SQLPriverConnect SQLBrowseConnect II. 取得驱动程序及数据源的相关讯息 SQLDataSource SQLGetInfo SQLGetFunctions SQLGetTypeInfo. III. 设定及取得驱动程序的选项 SQLSetConnectOption SQLGetConnectOption SQLSetStmtOption SQLGetStmtOption.,PKU,ODBC的接口函数,IV. 准备SOL指令之需求 SQLAllocStmt SQLPrepare SQLSetParam SQLParamOpt

7、ions SQLGetCursorName SQLSetCursorName SQLSetScrollOptions. V. 传送及执行需求 SQLExecute SQLExecDirect SQLNativeSql SQLDescribeParanl SQLNumParams SQLParamData SQLPutData.,PKU,ODBC的接口函数,VI. 取得执行结果及有关结果的讯息 SQLRowCount SQLNumResultCols SQLDescribeCol SQLColAttributes SQLBindCol SQLFetch SQLExtendedFetch SQLG

8、etData SQLSetDos SQLMoreResults SQLError VII. 取得有关数据源系统表(System tables or Catalog)的讯息 SQLColumnPrivileges SQLColumns SQLForeignkeys SQLPrimaryKeys SQLProcedureColumns SQLProcedures SQLSpecialColumns SQLStatistics SQLTablePrivileges SQLTables,PKU,ODBC的接口函数,VIII. 结束 SQL 指令需求 SQLFreeStmt SQLCancel SQLT

9、ransact IX. 结束与数据源的连接 SQLDisconnect SQLFreeConnect SQLFreeEnv,PKU,ODBC程序流程,为ODBC分配环境句柄 分配一个连接句柄 连接到数据库 用SQL命令分配一个语句句柄 传送该命令 关闭连接 解除连接和环境句柄,PKU,ODBC实例,应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。 在ODBC中,ODBC API不能直接访问数据

10、库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。,PKU,ODBC实例(续1),实现步骤: 1 设置ODBC数据源 步骤是控制面板管理工具数据源(ODBC)。这里将加入一个本用户的数据源local,连接到本地的SQL Server 2000服务器上。 选择添加数据源,选择SQL Server的驱动。完成相关的设置之后就可以看到本地的DSN中多了一个名为local的数据源。如图所示:,PKU,ODBC实例(续2),设置完之后就可以在程序中使用ODBC的AP

11、I来连接到数据库了。,PKU,ODBC实例(续3),2 连接到ODBC数据源 下面通过一个简单的基于控制台的VC程序来演示如何连接到ODBC数据源。 要连接到ODBC数据源,需要先分配环境句柄,设置环境句柄,分配连接句柄,然后用这些句柄连接到ODBC建立连接。这部分的代码如下: SQLHENV hEnv; SQLHDBC hConnect; SQLRETURN r; / 分配环境句柄 r = SQLAllocHandle ( SQL_HANDLE_ENV, SQL_NULL_HANDLE, ,PKU,ODBC实例(续4),/ 设置环境句柄 r = SQLSetEnvAttr ( hEnv, S

12、QL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0 ); if ( r != SQL_SUCCESS ) cout “SQLSetEnvAttr error!“ endl ; exit(1); / 分配连接句柄 r = SQLAllocHandle ( SQL_HANDLE_DBC, hEnv, ,PKU,ODBC实例(续5),3 查询实现 在建立ODBC的时候我选择的默认数据库是pubs。在这里用代码查询一下authors: char SQLString100 ; SQLCHAR RetName20; SQLLEN cbName; / 分配语句句柄 r

13、 = SQLAllocHandle ( SQL_HANDLE_STMT, hConnect, ,PKU,ODBC实例(续6),/ 绑定数据并输出 r = SQLBindCol ( hStmt, 1, SQL_C_CHAR, (SQLPOINTER) RetName, 20, ,PKU,ODBC实例(续7),执行结果,数据库接口技术JDBC,PKU,JDBC简介,JDBC概述 JDBC技术特点 JDBC编程框架 实例介绍,PKU,JDBC概述,JDBC的诞生 SUN公司开发的一个以Java语言为接口的数据库应用程序开发的接口。 在JDK1x版本中,JDBC只是一个可选部件,到了JDK11公布时,

14、SQL类包(也就是JDBCAPI)就成Java语言的标准部件。 在JDBC2.0中,JDBC中的一系列可选的扩展对连接过程进行了改进。 JDBC重要性 JDBC扩展了Java的能力。 随着越来越多的程序开发人员使用Java语言,对Java访问数据库易操作性的需求越来越强烈。,PKU,JDBC概述,JDBC和ODBC及其他API的比较 正如Java被设计成与硬件平台无关那样,JDBC也被设计成向开发者提供某种程度的数据库无关性。 ODBC并不适合在Java中直接使用。ODBC是一个C语言实现的API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的缺点。 完全精确地实现从C

15、代码ODBC到JavaAPI写的ODBC的翻译也并不令人满意。 JDBC这样的JavaAPI对于纯Java方案来说是必须的。,PKU,JDBC技术特点,JDBC 是一种用于执行 SQL 语句的 Java API,它由一组用 Java 编程语言编写的类和接口组成,可以使用它来访问数据库和执行SQL 语句。 JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。 JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接

16、提供了标准方法。,PKU,JDBC技术特点,JDBC 的结构,PKU,JDBC技术特点,JDBC规范提供了数据库厂商必须实现的接口集合。目前有四种不同类型的实现。,PKU,JDBC编程框架,JDBC能完成下列三件事: 同一个数据库建立连接; 向数据库发送SQL语句; 处理数据库返回的结果。 JDBC的接口 一个是面向程序开发人员的JDBC API 一个是底层的JDBC Driver API。,PKU,JDBC编程框架,JDBC API JDBC API 被描述成为一组抽象的Java接口,可以对某个数据库打开连接,执行SQL语句并且处理结果。最重要的接口是: java.sql.DriverManager 处理驱动的调入并且对产生新的数据库连接提供支持。 java.sql.Connection 代表对特定数据库的连接。 java.sql.Statement 代表一个特定的容器,来对一个特定的数据库执行SQL语句。,PKU,JDBC编程框架,java.sql.Resul

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号