1 引言
W1WW_P4LCJS_COM-PLC-技.术_网
同一企业里存在多种来自不同的厂商、运行在不同平台上的异构数据库管理系统是目前较为普遍的现象。这些数据库管理系统的数据结构、SQL语法、应用编程界面都可能不一样,其不透明性严重阻碍了企业内外的数据库资源共享,造成了诸多不便。因此,异构数据库互操作,即在网络环境下为数据库应用提供对异种数据库资源的透明动用能力,成为了当今信息技术行业面临的一个棘手问题。WWW_PL※CJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
本文介绍的监控系统工控网安装的是工控组态软件iFIX实时数据库,而管理网选用的是的Oracle关系数据库,本案采用Microsoft公司推出的简便有效的开放式数据库连接ODBC(open data base connectivity)技术来实现这两个异构数据库之间的实时数据交换。WWW_PLCJS@_COM%-PLC-技.术_网
2 ODBC组成及其原理
WWW_PL※CJS_COM-PLC-技.术_网
ODBC最初是为实现MSWin-dows平台上的数据库透明访问而开发的,它以SQL Access Group的Call-LevelInterface(CLI)为标准应用编程接口。一直以来,ODBC得到了数据库产业界的广泛支持,在Windows、UNIX等平台上都有ODBC驱动程序和开发工具,Oracle、Sybase、Borland、Microsoft等各大数据库厂商以及众多应用软件开发商都在其产品中提供了对ODBC的支持。作为最成功的异构数据库互操作产品之一,应用程序与数据库管理系统之间是逻辑分离的,用户随时可通过一组通用代码连接到不同数据库的ODBC驱动程序,建立应用程序与目标数据库系统之间的连接,使得一个应用程序可以访问不同的数据库管理系统,而无需了解目标数据库的类型、地址、结构以及网络连接上的繁琐细节。WWW.PLCJS.COM——可编程控制器技术门户
WWcW_PLCJS_COM-PLC-技.术_网
2.1 ODBC的组成WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
ODBC由应用程序、异构数据库访问标准应用编程接口API、驱动程序管理器、数据库驱动程序和数据源等部件组成,如图1所示。WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
plcjs.技.术_网
图1 ODBC结构框图WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
(1) APIP.L.C.技.术.网——可编程控制器技术门户
API是应用程序与ODBC的接口,即一个函数调用集,由它完成对应用程序所提出的SQL语法及数据库类型的检查,并将检查后的结果移交驱动程序管理器。WW.W_PLC※JS_C,OM-PL,C-技.术_网
(2) 驱动程序管理器WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
它是一个共享的程序库管理器,是一个动态连接库(ODBC.DLL),根据前端客户的设置,即应用程序的数据库类型,来确定目标数据库相应的驱动程序,并加载到Windows中执行初始化。把应用程序的调用分配给一个或多个数据库驱动器,并负责装载或卸载驱动器、检查状态、管理多个应用和数据源之间的联接。WW.W_PLCJS_COM-PLC-技.术_网
(3) 数据库驱动程序P.L.C.技.术.网——可编程控制器技术门户
它是用于实现ODBC函数调用并与数据源交互,其主要任务是处理API调用、建立与数据源的链接、分发SQL请求给数据源、翻译数据格式,也接收数据库的响应、返回结果给应用程序、错误格式的处理等给前端客户。plcjs.技.术_网
(4) 数据源和应用程序WWW_P※LCJS_COM-PLC-)技.术_网
数据源包括用户要访问的数据以及与之相关的操作系统、DBMS和网络平台。应用程序主要完成对ODBC函数的调用和处理、执行SQL语句并接收SQL的执行结果。通过ODBCAPI访问不同数据源中的数据,每种不同的数据源类别由一个ODBC驱动程序支持。WWW_PLC※JS_COM-PmLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
2.2 ODBC工作原理WWW.PLCJS.COM——可编程控制器技术门户
ODBC是基于动态连接库(DLL)方式的。对于任何DBMS,只要提供该DBMS的驱动程序DLL,并符合ODBC.DLL的接口规范,该数据库的文件便可被ODBC所访问和处理。在系统运行时,ODBC.DLL通过ODBC.INI文件中的数据源了解到对目标数据库应当采用的相应驱动程序。每个数据源包含了数据源的名称、数据源的描述、数据库文件存放的路径、DBMS的类型和相应的驱动程序、数据库文件的后缀格式等内容。ODBC首先通过一个环境句柄,建立了应用程序与ODBC系统之间的联系,然后通过连接句柄与数据源建立起连接关系,最后通过语句句柄,与操作建立联系。由系统管理这些操作或SQL语句,取到语句句柄后,就可以执行相应的SQL语句了。WWW_PLCJS@_COM%-PLC-技.术_网