有关应用ODBC技术访问数据源的方法及实例分析
- 作者:admin 来源:网络 日期:2009-4-20 23:38:32
句柄就是一个应用程序变量,系统用它来存储关于应用程序的上下文信息和应用程序所用到的一些对象。它和Windows编程中的概念类似,不过ODBC更加完善了句柄的作用。ODBC中用到三种句柄即上面提到的环境句柄、联接句柄和语句句柄;它们的关系可用图1所示的分层结构来表示:
①.环境句柄是ODBC中整个上下文的句柄,使用ODBC的每个程序从创建环境句柄开始,以释放环境句柄结束。所有其它的句柄(这一应用程序所有的联接句柄和语句句柄)都由环境句柄中的上下文来管理。环境句柄在每个应用程序中只能创建一个。
②.联接句柄管理有关联接的所有信息。联接句柄可以分配多个,这不仅合法而且很有用;但不要生成不必要的句柄以免资源的浪费。
但是,不同的驱动程序支持的联接情况有所不同,有的驱动程序在一个应用程序中仅支持一个联接句柄,有的驱动程序仅支持一个语句句柄。在应用程序中,可以在任何适当的时候联接或脱离数据源,但不要轻易地建立或脱离联接。
③.语句句柄是ODBCAPI真正发挥重要作用的,它被用来处理SQL语句及目录函数,每个语句句柄只与一个联接有关。当驱动程序接收一个来自应用程序的函数调用指令而该指令包含一个语句句柄时,驱动程序管理器将使用存储在语句句柄中的联接句柄来将这一函数调用发送给合适的驱动程序。
总之,以上步骤是使用ODBC的标准步骤,但在真正的应用中,不一定完全按照以上步骤进行,具体情况要根据特定的应用环境来决定。
5ODBC在Maplnfo中的应用
这儿的Maplnfo是美国Maplnfo公司的最新产品MaplnfoProfessionalV4.0,该产品是世界桌面地图信息系统的领导者,具有很多突出的优点或特点,其中一点就是它本身内置ODBC,可以方便读写远程数据。在Maplnfo中,通过ODBC可以很方便地访问Oracle,Sybase,lnformix等数据库的数据。
Maplnfo的开发工具是它自带的MapBasic,下面这段程序就是应用ODBC访问Oracle数据库的MapBasic程序,通过注释我们就可以对前面说明的东西有感性的认识。
(注意:在实际中,每条语句只能占一行。)
Includemapbasic.def
Includeicons.def
Defineconnect_stringDSN=ORACLE7;SRV=t:whsco:scoora;USR=jxzy;PWD=
jxzy'联接串,通过改变它就可以联接到不同的数据源http://www.dxlww.net代写论文网
GlobalDbnumAsInteger'定义联接句柄
SubMain
DimcurnumAsInteger'定义语句句柄
CloseAllInteractive'环境清理
Print正在联接Oracle数据库...
Dbnum=Server_Connect(QELIB,connect_string)
'通过联接句柄联接数据源
PrintDbnum
Print联接Oracle数据库成功!
curnum=Server_Execute(Dbnum,selectxmmcfromzydmbwherexmdm='HD01'
'执行SQL语句
ServercurnnmFetchFirst'通过语句句柄提取数据
m_xmmc=server_columnInfo(curnum,1,SRV_COL_INFO_VALUE)
'通过语句句柄把数据放入变量中
'zydmb是一个库文件,xmmc,xmdm是两个字段
.....'一些处理
ServercurnumClose'释放语句句柄
ServerDbnumDisconnect'与数据源脱离联接
Print退出Oracle数据库成功!
EndMapInfo'退出MapInfo
EndSub
在上面的程序中,基本上是按照前面所述的步骤来进行的,但它又是不同的,它有很多步骤都没有或省略了,因为它们在Maplnfo中并不是必要的。上面还有关于执行Select语句的数据处理。
代写论文联系方式
联系QQ:904272800

联系信箱:904272800@qq.com

代写论文导航
客户、写手申请单
最新论文
热点论文