新数据库技术 教学课件 施伯乐 KX 09.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ODBC和JDBC 提要 中间件 ODBC ODBC 的结构 ODBC API 符合性级别 JDBC JDBC 的结构 JDBC API 一、中间件 定义 中间件(middleware) 是分布式环境中保证操作系统、通信协议、数据库等之间进行对话、互操作的软件系统。 中间件的作用 网络透明性 支持所有类型的网络 服务器透明性 支持各种不同的DBMS 语言透明性 支持任何开发语言 二、ODBC的结构 1.数据库访问API 传统的数据库编程方式: “主语言+DML” 前端应用不能访问不同数据库服务器上的数据 SQL版本不同 通信协议不同 采用API的应用编程 2. ODBC的体系结构 ODBC的分层体系结构 1.应用程序 调用ODBC函数,提交SQL,处理结果 主要操作: 连接数据库;发送SQL语句;分配存储空间;读取结果;处理错误;断开与数据源的连接等。 2.驱动程序管理器 为应用程序加载DBMS驱动程序; 检查ODBC调用参数的合法性和记录ODBC函数的调用; 为不同驱动程序的ODBC函数提供单一的入口; 调用正确的DBMS驱动程序; 提供驱动程序信息。 3.DB驱动程序 建立与数据源的连接; 向数据源提交SQL; 进行数据格式和类型转换; 返回处理结果; 转换并返回标准错误代码; 定义和使用光标。 (1)单层驱动程序 (2)多层驱动程序 基于网关机制的多层驱动程序的应用程序结构(三层结构) 4.ODBC的数据源 用于表达一个ODBC驱动程序和DBMS特殊连接的命名 ,可以将数据源名看成是与一个具体数据库建立的连接。 (1)用户数据源 (2)系统数据源 (3)文件数据源 文件数据源例(*.dsn) [ODBC] DRIVER=Driver do Microsoft Access (*.mdb) UID=admin UserCommitSync=Yes Threads=3 SafeTransactions=0 PageTimeout=5 MaxScanRows=8 MaxBufferSize=2048 FIL=MS Access DriverId=25 DBQ=mydb.mdb 三、ODBC API ODBC应用程序的基本流程 ODBC句柄 1.环境句柄(environment handles) SQLAllocEnv(phenv) SQLFreeEnv(henv) 2.连接句柄(connection handles) SQLAllocConnect(henv,phdbc) SQLFreeConnect(hdbc) 3.语句句柄(statements handles) SQLAllocStmt(hdbc,phstmt) SQLFreeStmt(hstmt,fOption) 三种句柄之间的关系 ODBC连接 分配了环境句柄和连接句柄后 ,就可以与ODBC的数据源进行连接 SQLConnect(hdbc,szDSN,cbDSN,szUID,cbUID,szAuthStr,cbAuthStr) SQLDisconnect(hdbc) SQL语句的执行 直接执行SQL语句的函数 SQLExecDirect(hstmt,szSqlStr,cbSqlStr) 例:retcode=SQLExecDirect(hstmt,“SELECT * FROM S”,SQL_NTS) 有准备地执行SQL语句的函数 SQLPrepare(hstmt,szSqlStr,cbSqlStr) SQLExecute(hstmt) 查询结果的获取 1)移动光标函数 SQLFetch(hstmt) 2)读光标指向行中一列值的函数 SQLGetData(hstmt,icol,fCType, rgbValue,cbValueMax,pcbValue) 使用ODBC函数的应用程序实例 # include windows.h # include sql.h # include sqlext.h # include string.h # include sedlib.h main() { HENV henv; /*说明henv是一个环境型变量*/ HDBC hdbc; /*说明hdbc是一个连接型变量*/ HSTMT hstmt; /*说明hstmt是一个语句句柄变量*/ RETCODE retcode; /*说明retcode是一个返回变量*/ SQLAllocEnv(henv); /*分配一个环境句柄*/ SQLAllocConnect(henv,hd

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档