句柄应用ODBC技术访问数据源的方法及实例

odbc数据源  时间:2021-02-27  阅读:()

应用ODBC技术访问数据源的方法及实例

目录

1引言

1 ·ODBC是一种使用SQL的程序设计接口

2 ·ODBC的设计是建立在客户机服务器体系结构基础之上的

3 ·ODBC使应用程序开发者避免了与数据源联接的复杂性

4 ·ODBC的结构允许多个应用程序访问多个数据源

3. 1应用程序Application

3. 2 ODBC驱动程序管理器Driver Manager

3. 3 ODBC驱动程序Driver

3. 3数据源

4应用程序如何通过ODBC访问数据源

一般地应用程序存取数据源中的完整步骤如下所示

(1) .创建环境句柄

(2) .创建联接句柄

(3) .通过联接句柄联接数据源

(4) .创建语句句柄

(5) .通过语句句柄执行语句

(6) .释放语句句柄

(7) .与数据源脱离联接

(8) .释放联接句柄

(9) .释放环境句柄m_xmmc=server_columnInfo(curnum

6结束语

4. MapInfo公司. MapInfo使用手册

正文

应用ODBC技术访问数据源的方法及实例

金春(合肥工业大学计算机网络系统研究所)

摘要 ODBC Open Database Connectivity开放数据库联接技术现在已经成为数据库通信的事实工业标准它的应用已经深入到数据库应用的各个方面。本文首先简要介绍分析了ODBC技术的思想特点工作原理然后重点分析了使用ODB C的方法步骤最后给出在Maplnfo中应用ODBC访问Orac le数据库的应用实例

关键字 ODBC驱动程序驱动程序管理器应用程序数据源句柄

1引言

关系数据库的研究与应用是当今计算机界最活跃的领域之一各种数据库产品行行色色各有千秋这种情况一方面给用户带来了好处另一方面又给应用程序的移植带来了困难。尤其是在客户机服务器体系结构中 当用户要从客户机端访问不同的服务器而这些服务器的数据库系统又各不相同数据库之间的互连访问就成为一个难题 因此微软公司提出了ODBC。 由于ODBC思想上的先进性及其微软公司的开放策略 ODBC现在已经成为事实上的工业标准它是目前数

据库应用方面很多问题强有力的解决方案正逐步成为Windows平台上的标准接口。

2 ODBC的基本思想与主要特点

ODBC是一种用来在相关或不相关的数据库管理系统DBMS中存取数据的标准应用程序设计接口 API 。它的基本思想是为用户提供简单、标准、透明、统一的数据库联接的公共编程接口在各个厂家的支持下能为用户提供一致的应用开发界面使应用程序独立于数据库产品实现各种数据库之间的通信。开发厂商根据ODBC的标准去实现底层的驱动程序它对用户是透明的。

作为一种数据库联接的标准技术 ODBC有以下几个主要特点

1 ·ODBC是一种使用S QL的程序设计接口

2 ·ODBC的设计是建立在客户机服务器体系结构基础之上的

3 ·ODBC使应用程序开发者避免了与数据源联接的复杂性

4 ·ODBC的结构允许多个应用程序访问多个数据源 即应用程序与数据源的关系是多对多的关系。

3 ODBC的工作原理与实现

ODBC的结构是建立在客户机服务器体系结构之上它包含四个组件。

3. 1应用程序Application

应用程序即是用户的应用它负责用户与用户接口之间的交互操作 以及调用ODBC函数以给出SQL请求并提取结果以及进行错误处理。

3.2 ODBC驱动程序管理器Driver Manager

ODBC驱动程序管理器为应用程序加载和调用驱动程序它可以同时管理多个应用程序和多个驱动程序。它的功能是通过间接调用函数和使用动态链接库DLL来实现的 因此它一般包含在扩展名为” DLL “的文件中。

3.3 ODBC驱动程序Driver

ODBC驱动程序执行ODBC函数调用呈送SQL请求给指定的数据源并将结果返回给应用程序。驱动程序也负责与任何访问数据源的必要软件层进行交互作用这种层包括与底层网络或文件系统接口的软件。

3.3数据源

数据源由数据集和与其相关联的环境组成包括操作系统、 DBMS和网络如果存在的话 。 ODBC通过引入“数据源”的概念解决了网络拓扑结构和主机的大范围差异问题这样用户看到的是数据源的名称而不必关心其它东。

4应用程序如何通过ODBC访问数据源

ODBC AP I实现数据库操作的手段是语句这是一个强有力的手段。 ODBC语句除了能执行SQL语句和完成查询操作之外还能实现大多数数据库操作。应用程序一般都是通过ODBC语句来实现对不同数据源进行存取操作的。

一般地应用程序存取数据源中的完整步骤如下所示

(1) .创建环境句柄

(2) .创建联接句柄

(3) .通过联接句柄联接数据源

(4) .创建语句句柄

(5) .通过语句句柄执行语句

(6) .释放语句句柄

(7) .与数据源脱离联接

(8) .释放联接句柄

(9) .释放环境句柄

句柄就是一个应用程序变量系统用它来存储关于应用程序的上下文信息和应用程序所用到的一些对象。它和Windows编程中的概念类

似不过ODBC更加完善了句柄的作用。 ODBC中用到三种句柄即上面提到的环境句柄、联接句柄和语句句柄它们的关系可用图1所示的分层结构来表示

图1

①.环境句柄是ODBC中整个上下文的句柄使用ODBC的每个程序从创建环境句柄开始 以释放环境句柄结束。所有其它的句柄这一应用程序所有的联接句柄和语句句柄都由环境句柄中的上下文来管理。环境句柄在每个应用程序中只能创建一个。

②.联接句柄管理有关联接的所有信息。联接句柄可以分配多个这不仅合法而且很有用但不要生成不必要的句柄以免资源的浪费。

但是不同的驱动程序支持的联接情况有所不同有的驱动程序在一个应用程序中仅支持一个联接句柄有的驱动程序仅支持一个语句句柄。在应用程序中可以在任何适当的时候联接或脱离数据源但不要轻易地建立或脱离联接。

③.语句句柄是ODBC API真正发挥重要作用的它被用来处理SQL语句及目录函数每个语句句柄只与一个联接有关。当驱动程序接收一个来自应用程序的函数调用指令而该指令包含一个语句句柄时驱动程序管理器将使用存储在语句句柄中的联接句柄来将这一函数调用发送给合适的驱动程序。

总之 以上步骤是使用ODBC的标准步骤但在真正的应用中不一定完全按照以上步骤进行具体情况要根据特定的应用环境来决定。

5 ODBC在Maplnfo中的应用

这儿的Maplnfo是美国Map lnfo公司的最新产品Mapl nfo

Professional V4.0该产品是世界桌面地图信息系统的领导者具有很多突出的优点或特点其中一点就是它本身内置ODBC可以方便读写远程数据。在Map lnfo中通过ODBC可以很方便地访问Orac leSybase lnformix等数据库的数据。

Maplnfo的开发工具是它自带的MapBas ic下面这段程序就是应用ODBC访问Oracle数据库的MapBasi c程序通过注释我们就可以对前面说明的东西有感性的认识。

注意在实际中每条语句只能占一行。

Include "mapbasic.def"

Include "ico.def"

Define connect_string

"DSN=ORACLE7;SRV=t:whs co:scoora;USR=jxz y;PWD=jxzy" '联接串通过改变它就可以联接到不同的数据源

Global Dbnum As Integer '定义联接句柄

Sub Main

Dim curnum As Integer '定义语句句柄

Close All Interactive '环境清理

Print "正在联接Oracle数据库.

Dbnum=Server_Connect("QELIB" connect_string)

'通过联接句柄联接数据源

Print Dbnum

Print "联接Oracle数据库成功!curnum=Server_Execute(Dbnum "select xmmc from zydmb wherexmdm='HD01'

'执行SQL语句

Server curnnm Fetch Fit '通过语句句柄提取数据m_xmmc=s erver_co lumnIn fo(curnum 1 SRV_COL_I NFO_VALUE)

'通过语句句柄把数据放入变量中

欧路云(22元/月),美国CERA弹性云服务器!香港弹性云服务器15元/月起;加拿大高防vps仅23元/月起

欧路云怎么样?欧路云主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。2021年7月14日美国 CERA 弹性云服务器 上新 联通CUVIP 线路!8折特惠中!点击进入:欧路云官方网站地址付款方式:PayPa...

炭云188元/年,上海CN2 VPS/2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP

炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...

百星数据(60元/月,600元/年)日本/韩国/香港cn2 gia云服务器,2核2G/40G/5M带宽

百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...

odbc数据源为你推荐
可以发外链的论坛发外链的论坛哪个比较好,哪个论坛能发外链,能发广告急求。。。。iphone5解锁苹果5手机怎么解屏幕锁1433端口路由器1433端口怎么开启9flashIE9flash模块异常。直播加速怎么让已拍摄好的视频加速人人逛街为什么女人都喜欢逛街?谢谢了,大神帮忙啊商标注册查询官网全国商标注册查询在哪里查呀?网站优化方案一个网站进行优化的流程及步骤手工杀毒如何人工手动杀毒office2007简体中文版office2007绿色下载 office2007下载安装
美国虚拟主机购买 网通vps 三级域名网站 免费cn域名 韩国俄罗斯 好看的留言 win8升级win10正式版 新站长网 建站代码 e蜗 微信收钱 asp免费空间申请 新家坡 河南移动网 怎么建立邮箱 跟踪路由命令 yundun cxz smtp服务器地址 lamp架构 更多