PB 5.0由网络版改为单机版的技巧
刘常军
PowerBuilder 5.0(以下简称为PB
5.0)作为第四代SQL数据库快速开发环境,能方便有效地访问数据库。PB
5.0对诸如Sybase、Oracle、Informix之类的大型数据库管理系统提供了高效率访问数据库的专用接口,也对小型数据库或其他一些支持ODBC接口的数据库(如IBM
DB2、Microsoft Access等)提供了通用的ODBC接口驱动程序。通过这些接口程序,我们可以不必修改应用系统的代码就能把网络版的应用系统改为单机版!
在传统的客户/服务器模式下把PB 5.0网络版的应用系统改为单机版,在某些地方还需要做一些特别的工作。以下是我在实际工作中总结的经验,供大家参考。
一、确定单机版应用系统使用的数据库
在PB 5.0应用系统由网络版改为单机版之后,单机版的应用系统依然是模拟了客户/服务器模式,本身需要在本地工作站上建立一个数据库引擎(Database
Engine)启动数据库,再由应用系统通过ODBC接口程序链接到数据库上,对数据库进行操作。由此可见,选择一个好的本地数据库系统是单机版改造成功的重要基础。经过综合比较,我们认为PB
5.0自带的Sybase SQL Anywhere 5.0是非常符合ODBC接口标准的单机版数据库管理系统。
二、建立应用系统使用的数据库和表的结构
(一)新建数据库。
在PB 5.0中打开数据库画笔,执行“file”->“Create Database…”命令来创建本地数据库。
(二)新建表结构。
建立表结构有两种方法:
1.在PB 5.0下使用数据库画笔直接建立表结构。
2.将原来的网络版的数据库结构生成SQL语句,然后在本地数据库画笔中执行这些SQL语句,自动生成库结构,具体过程:首先调用数据库画笔打开服务器上的数据库,选定一个表,执行“object”→“Export
Dyntax to log…”,使数据库结构输出。然后再执行“design”→“save log
as …”,将数据库结构的创建语句保存为*.sql文件。最后在本地ODBC数据库画笔中打开该SQL文件并运行它即可。
三、建立新的ODBC数据源
这个工作有两种方法可以完成。
1. 应用PB 5.0的画笔。具体来说就是启动PB 5.0,单击Configure ODBC按钮,弹出Configure
ODBC窗口,在Installed Drivers窗口中选择Sybase SQL Anywhere 5.0。再单击Create按钮,则弹出SQL
Anywhere ODBC Configuration窗口,在这里面填写单机版数据库系统的有关信息,如数据源名称(Data
Source Name-DSN)、用户身份号(User ID)、密码(Password)、服务器名称(Server
Name)、数据库名称(Database Name)、数据库文件名及路径(Database File)。由于是单机版的应用系统,不存在所谓的服务器,因此服务器名称一栏无须填写信息,取其系统默认值“
2. 在Win 95/98控制面板中双击“32位ODBC”图标(如果没有这个图标,说明本机没有安装ODBC驱动程序,应当首先安装ODBC驱动程序,ODBC驱动程序在一般的微软产品中都可以找到,如Office
97),启动“ODBC数据源管理器”,单击“添加”按钮。在接下来弹出的窗口中选择“Sybase
SQL Anywhere 5.0”并单击“完成”按钮,弹出SQL Anywhere ODBC Configuration窗口。以下的设置过程同(一)。
四、修改源程序中的数据库链接语句
源程序一点不改是不可能的,但这个改动非常小。一般来说,只要把原来链接到服务器上的数据库的语句改为链接到本地数据库就可以了。
通常的数据库链接语句都是直接写在应用(Application)开始的脚本里,这样应用执行之后,数据库即被正常链接,接下来的代码直接操纵数据库即可,无须每一步都要建立链接。这样做的同时也为我们的修改创造了条件,我们只需在这里修改一处而无须到每一个应用模块里进行修改。改后的语句如下:
sqlca.DBMS=′ODBC′
sqlca.Database=′example′
sqlca.UserID=′liu′
sqlca.DBPass=′aaa′
sqlca.DbParm="ConnectString=′DSN=example′"
sqlca.autocommit=false
connect using sqlca;
if sqlca.sqlcode=-1 then
messagebox(′数据库连接′,′数据库连接失败!′+sqlca.sqlerrtext)
else
OPEN(main) //启动主程序
end if
五、重新编译应用系统,并调试。
六、制作安装盘发行。