|
对于管理信息系统和数据库应用系统的开发,人们往往根据实际需求采用不同的数据库系统。应用这些系统,各单位各部门投入了大量的人力、物力,相继完成了一些管理系统。
现在,当人们希望提高整个管理水平,建立全集团、全公司的企业级信息管理系统时发现,以往已完成的各部门系统采用的是不同的DBMS,要想统一起来,非常困难,甚至是不可能的。因此,为了保护过去的投资,利用已建立的信息系统,迫切需要一种能访问多种数据库的操作平台,以便建立更大、更完备、更全面的企业信息管理系统。
为了适应这种需求,Microsoft推出了开放数据库互连技术,简称ODBC。开放数据库互连接实际上是一个数据库访问库,它包含访问不同数据库所要求的ODBC驱动程序。如要操作Fo xpro数据库,要用Foxpro的ODBC驱动程序;要访问DBASE,要用DBASE的ODBC驱动程序。总之,应用程序要操作不同类型的数据库,只要调用ODBC所支持的函数,动态链接到不同的驱动程序上即可。随着ODBC技术的推出,许多开发工具软件都把ODBC技术集成到自己的软件中,如,Visu al basic、Visual C++、Power Builder等等。其中,由PowerSoft公司开发的PowerBuilder 是迄今为止最成功的数据库应用系统开发工具,它利用ODBC技术不仅适应各种数据库系统,而且采用面向对象的开发方法和可视化的编程环境,使PowerBuilder成为优秀的前端开发工具,日益受到人们的重视。
本文将主要讨论在Power Builder中,以不同的方法,应用ODBC技术,去访问不同的数据库。
在实际应用中,可能会以几种不同的方式访问数据库:只访问一个数据库、在多个数据库间动态切换、同时需要访问多个数据库。这些方式,都可以应用ODBC技术满足用户的要求。下面分别讨论每种方式应用ODBC具体方法。假定所需要的ODBC驱动程序已经正确安装。
一、只访问单一数据库
这是一种比较简单的ODBC应用。应用程序只需要访问单一的数据库,采用Power Builde r的画笔,就可以完成相应的ODBC设置。下面以
Foxpro为例,说明这一过程:
1.配置ODBC
·单击Power Panel上的ODBC画笔,出现ODBC设置窗口。
·在in stalled driver窗口选中Foxpro Files。
·单击Create按钮,出现ODBC Foxpro Setup窗口,在Data source Name栏,定义数据源名,如:C-foxpro。
·选择Foxpro 2.5。
·选择Foxpro表所在的目录及索引文件。
·以上参数定义完后,单击OK。返回Configure ODBC窗口。
·在数据源框中,可看到刚刚定义的C-Foxpro出现,选中它。
·单击Done按钮。此时,ODBC驱动程序及数据源定义完成。
2.连接数据源
·单击DB PROFILE画笔,出现Database Profile窗口。
·如果设有与FOxpro相关的PROFILE,单击NEW,建立一个。建立PROFILE后,返回Databas e Pro-file窗口。选中新定义的PROFILE;如果有,则选择该PROFILE。
·单击OK,则建立了与指定数据库的ODBC连接。
此后,在设计Power Builder的应用程序时,所有对数据库的操作都连接到Foxpro。在此要特别说明的是,虽然只访问一种类型的数据库,但是对于同一个数据库,可以建立多个数据源。Power Builder规定,每个ODBC数据源必须有一个唯一的名字,可以使用不同的连接参数,使多个数据源连接到同一个数据库。比如,两个数据源使用不同的PASSWORD和USERID,都连接到Foxpro。
二、在多个数据库间动态切换
在设计企业级的信息管理系统时,常常会遇到需要访问不同数据库系统的问题。比如人事部门的人事档案是应用Foxpro数据库系统,财务部门的财务信息是应用DBASE数据库系统, 因此,企业信息管理系统就要求必须具有能够访问多种数据库的能力,而且可以根据程序要求,在多种数据库间动态切换。应用Power Builder提供的PowerScript设计语言,通过ODBC,可以很方便地达到这个目的。
为了解决应用程序和数据库之间的通讯,Power-Builder使用一个特殊的对象,这个对象称作事务对象(TRANSACTION OBJECT)。象所有的对象一样,事务对象也具有自己的事件、属性和函数。在使用事务
对象之前,必须先建立对象,并且给事务对象的属性赋值。ODBC使用事务对象中有两个重要属性:DBMS和DbParm。DBMS用来指明要连接的数据源,如果使用ODBC技术,则赋给属性DBMS的值是"ODBC"。Db-Parm为DBMS的说明性参数,它的值是连接数据库所需要的参数组成的字符串,该值必须指明DSN(DATA SOURCE NAME)值,DSN值告诉ODBC要存取的数据源。可以说,一个事务对象标识了一个数据库,因此,它必须在存取该数据库前就要建立。为了方便用户的应用,Power Builder还提供了一个全局的缺省事务对象,即每当应用程序启动时,Power Builder都要自动建立一个称作SQLCA(SQL COMMUNICATION AREA)的事务对象,不需要用户建立。当一个应用程序初始启动时,连接数据库所需的缺省信息都是存放在初始化文件PB.INI中。
上一篇:如何在PB中切换中英文输入法数
下一篇:PowerBuilder实用技巧八则
|