ODBC API 开发教程.pdf

所需积分/C币:5 2016-12-23 15:26:42 417KB PDF
50
收藏 收藏
举报

经典 ODBC API开发教程 ODBC函数调用过程及实现
对于一个开发人员来讲使用预编译方式开发是极其痛古的,我就有过这样的绎历,所有的语句要写在稈序内 部,并目遵守一烂的规则,然后由数据戽厂商的预编译工具处理后形成代码,最后由编泽器进行编译。预编译的最 大问题就在于无法动态的生成语句,我想作为一个程序员是很难接受的。 接卜來的是使用进行川发,和预编译相比算是前进了一大步。数捱库厂商提供了川发包,你通过各神数 就可以连接数据厍,执行査询、修改、删除,操纵光标,执行存储过程等。对丁程序员来讲有了見多的自由,而且可以创 建自己的川发包。但是这一切的川发只能针对同一种数据库。 的是一个非常优秀的语言开发包,在 中就在很多地方参照了的设计 介绍 是由微软公司提出的一个用于访问数据库的统一界面准,随着客户机服务器体 系结构在各行业领域广泛应用,多种数据库之间的互连访问成为一个突出的问题,而成为目前一个强有力的解决 方案。 之所以能够操作众多的数据库,是山于当前绝大部分数据库全部或部分地遵从关系数据库概念, 看待 这些数据库时正是着眼了这些共同点。虽然攴持众多的数据库,但这并不意味 会变得复杂, 是基于结构化 查询语言,使用可大大简化其应用程序设计接口 由于 思想上的先进性,而且没有同类标准或产 品与之竞争,因而越米越受到众多厂家和用户的青睐。目前, 已经成为客广机服务器系统中的一个重要攴持技 米”心 年时 有了第一个版本,这种名为 (放式数据库互连)的技术很快通过了 标准化并且得到各个数拈库厂商的支持。 在当时解决了两个问题,一个是在 平台上的数据厍丌发,另 个是建立一个统一的标准,只要数据厂商提供的川发包支持这个标准,那么川发人员通过 川发的程序可以在不同 的数据库之间自由转换。这对开发人员来说的确值得庆贺。 参照了 和 标准,在 版本中已经完全实现了这两个标准的所有要求。所以本书所有内容都基于 以上版本 最开始时支持 的数据军只有 ,这些都时微软的产品,他们能够支持 点也不奇怪,但是那时侯 的图形界面已经成为了客户端软件最理想的载体,所以各大数捱厂商也在不久后发布 了针对 的驱动程序。 在 和 的时候 并不作为系统的组成部分出现,使用前必须另行安装。但到了 的时候,当你安装好操作系统后,不需要另行安装了,因为它已经成为了操作系统的一韶分。这对很 多拒绝 的人来说又少了一个借口。 作为一个程序员,至少是我,我实在找不出什么理由不为欢呼。此外的结构很简单和清晰,学习和了 的机制和开发方法对学习等其他的数据库访问技术会有所帮助。 结构 图显示了 的结构。 应用程序 驱动程序管理器 数据库厂商提供的驱动 数据库厂商提供的驱动 数据库厂商提供的驱动 程序 程序 程序 图 应用程序 应用程序本身不直接与数据厍打交道,主要负责处理并调用函数,发送对数据库的请求及取得结果 驱动程序管理器 驱动程序管理器是一个带有输入程序的动态链接库,主要目的是加驱动程序,处理 调用的初始化调 用,提供 调用的参数有效性和序列有效性 驱动程序 驱动程序是一个完成 函数调用并与数据库相互影响的 这些驱动程序可以处理对于特定的数据的数据库 访问请求。对于应用驱动稈序管理器送米的命令,驱动稈序再进行解释形成自己的数据库所能理解的命令。驱动稈序将处 理所有的数据库访问请求,对于应用程序来讲不需要关注所使用的是本地数据库还上网绪数据库。 的一致性 接口的伏势之一为互探作性,程序设计员可以在不指定特定数据源情况下创建 应用程序。从应用程序 角度方面,为了使每个驱动程序和数据源都支持相同的函数调用和语句集, 接口定义了一致性级别, 致性和 语法一致性。一致性规定了对语句语法的要求,而一致性规定了驱动程 序需要实现的 函数。一致性级别通过建立标准功能集来帮助应用程序和驱动程序的开发者,应用程序可以很容易 地确定驱动程序是否提供了所需的功能,驱动程序可被开发以支持应用程序选项,而不用考虑每个应用程序的特定请求。 使用 进行数据库开发基本知识介绍 建立 )是用于指定 与相关的驱动程序相刈应的一个入口,所有的信息由系统进行管 理,一般来讲当应用程序要使用 访问数据库时,就需要指定一个以便于连接到一个指定的 驱动程序。 在控制面板中打开 管理器,回看到如图的界面。 ODBC裂据源管理器 ? X 用户I0系统N件X马程序跟踪连接池关于1 用户数据源①D 名称 亚动程序 添加①〕 drASE Files Microsoft dBase Driver (* db Excel Fil Microsoft Excel Driver (*.xls database Microsoft access iriver〔来.mdb 删除 Mi V1 sual FoxPro tal1 es Microsd£Ⅵ ual FoxPro d 配置c ③ ⑩匚用户数据源存储了如何与指定教据提供程序连接的信息。用 数据源只对当前用户可见,而且只能用于当前机器 匚确定」取消应用()」帮助 图 共分为三类: 用户:对当前登录用户可见,只能够用于当前计算机。 系统:对当前系统上所有用户可见,包括中的服务。 ●文件 信息存放在文件屮,对能够访问到该文件的用户可见。 个使用 数据库的屮的信息如下: 对于文件来讲这些信息存放在文件中,对于用户和系统来讲这些信息存放在注册表内。你可以通过 创建文件来查看每种对应的信息內容。 下面的例子将告诉你如何添加一个 的 罩其安温的F bC.:3 a山孑物理 江LSarτa的I 肌圣语包,92:83.0 上-)完 Lsg如何斯录T的 忌藏T的习」「 旺皇sLT的游 r世用J输入登和马的5r虹 改玉议F工匡门 似故用干二an什F名,访血 L胥士 F吃o=4其配量侧识置 , 登录Tmx 当新到删时造用 块用T前亡巩妥告u 二卜一步x h转 f一步:[一以泊助 图中的四个步骤分别是 选择 作为驱动程序 输入名称和 服务器地址或别名 输入用户和口令进行连接 逅择默认数据库并完成 使用 所需要的文件 你需要下面的文件: :包含有基本的 的定义 包含有扩展的 的定义。 库文件 这些文件在,都已终随开发工具提供了,不需要另外安装 此外所有的 啊数都以开始,例如 语句执行方式介绍 在 中语句的执行方式分为种,直接执行和准备扶行。 直接执行是指由程序直接提供语句,例如 并调用 执行,准备执行是指 先提供 语句并调用 然后当语句准备好后调用 执行前面准各好的语句。准备执行多用 于数据插入和数据删除,在进行准备时将由 驱动程序对语勺进行分析,在实际执行时可以避免进行语句分析 所花费的时间,所以在进行大批量数据操作时速度会比直接执行冇明显改善。在后面的章节中我会详细介绍准备执行与行 列绑定与参数替换的用法。 获取语句执行的结果 对丁查询语句, 会返叫一个光标,与儿标对应的是一个结昊集合(可以理解为一个表格)。开发人员利 用光标来浏览所有的结果,你可以利用 函数移动光标,并且获取当前光标指冋的行的列字段的数值。此外还 可以通过光标来对光标当前所指向的数据进行修改,而修改会直接反到数据库中 对于薮据更新语句,如插入,删除和修改,在执行后可以得到当前操作所影响的效据的行数。 程序执行的基本流程图 STEP 1: CONNECT SQLAllocHandle(ENY〕 SQLSetEnyAttr sQLA| ocHandle( dbc〕 SQLConnect sQLSetconnectAttr STEP 2: INITIALIZE SQLGetInfo SQLAllocHandle〔STMT SQLSetstmtAtti SteP 3: EXECUTE Catalog function SQLBind Parameter p SQLExecDirect Statement Type?- 1. SELECT or catalog function 2 UPDATE/ DELETE/INSERT 3. OTHER STEPAa: FETCh resuilts STEP 4b: FETCH Row count SOLNumResultcols SOLROWCount SQLDescribe col t SQLBin dcolh SQLFetch SQLGetData SQLCloseCursor STEP 5 TRANSACT SOLEndTran STEP G DISCONNEC SQLFreeHandle〔sTT sQLDis connect SQLFreeHandletdbcy SQLFreeHandler〔EN"〕 图 8 图中是一个基本的使用 的一个流稈,你现在并不理解上面所有的函数的作用,这没有关系。但希望 能够通过这幅图给你一个最初的映象,那就是使用 开发并不复杂。 数据类型定义 在使用 开发时一个重要的问题就是数据转换的问题,在 中存在下面的几类数 数据厍中语言表达数据的类型 中表达数据的类型 语言中表达数据的类型 在程序运行过程中数据需要经历两次转换:语言的数据或结构类型与的数据类型的转换 与间 数据类型的转换。所以所定义的数据类型起到了中间桥梁的作用,在 的驱动程序调用白己的 数据库 访问接口时就需要刈数据类型进行转换。我们所需要关注的是语言的数据类型和数据关型间的转换关系。 从下图中可以看到 屮定义的数据类型和语言中数据关型的对应关系,所以通过下表我们可以将 和语言间的数据一一对应,在后面的文字中我们不再区分数据类型和语言数据类型。 数据类型名称 语言数据类型名称 图 使用话言开发,那么必定会在与 语言间存在数据的转换的问题,因为 所存在的一些数据类型在 浯言中是不存在的。在 以宏定义的方式定义了语言和 中使用的数据类型: 语言数据类型名称 数据类型定义 语言实际类型 图 10

...展开详情
试读 35P ODBC API 开发教程.pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享宗师

关注 私信
上传资源赚钱or赚积分
最新推荐
ODBC API 开发教程.pdf 5积分/C币 立即下载
1/35
ODBC API 开发教程.pdf第1页
ODBC API 开发教程.pdf第2页
ODBC API 开发教程.pdf第3页
ODBC API 开发教程.pdf第4页
ODBC API 开发教程.pdf第5页
ODBC API 开发教程.pdf第6页
ODBC API 开发教程.pdf第7页

试读结束, 可继续读4页

5积分/C币 立即下载