三、数据库连接程序的设计
为使PowerBuilder应用程序能正确地与数据库或数据源进行连接,必须正确地设置应用程序 所使用的事务对象(如SQLCA)的连接属性。作为最基本、最容易实现的一种方法,可根据应用程序所连接的数据库及所使用的数据接口的具体情况,直接将所需要的连接参数赋给相应的连接属性。如:通过SQLCA与名为dm的ODBC数据源连接,用户名为SYSDBA,口令为SYSDBA,则相应的赋值语句为:
SQLCA.AutoCommit=FALSE
SQLCA.DBParm = "ConnectString='DSN=dm;UID=SYSDBA;PWD=SYSDBA'"(这里要使用至少具有建表权限的用户,因为PB初次连接一个数据库,会在其上建立五张系统表,如果没有相应权限会失败。)
connect using SQLCA;
这种直接赋的方法(或称硬编码方式)虽然简单,但其缺点也很明显,如果所使用的数据库或数据接口发生改变,就不得不修改相应的语句来改变连接参数。因此,最好能够通过一种适当的方法为应用程序提供连接参数,一方面可以根据实际情况随意地修改连接参数,另一方面当参数改变时又可以避免修改程序的麻烦。因篇幅所限、该内容忽略。
综上所述,数据库连接程序的设计要点总结如下:
(1)利用PowerBuilder的数据库配置画笔生成相应的设置文件(初始化文件)。这种方法既易于实现,又可充分保证设置文件的正确性、规范性、全面性与灵活性。需要注意的是,为避免不必要的麻烦,确保应用系统能正常运行,设置文件中DBMS的设置值最好不要随意进行改动。
(2)在登录窗口的Open事件中使用ProfileString()函数与ProfileInt()函数从设置文件中读取有关的连接参数。PowerBuilder提供有一个SQLCA.SRC文件,其内容就是实现对事务对象属性的通用赋值的语句,可直接加以利用,先将其插入到应用程序中,再进行适当的修改即可。
(3)为保证系统的安全,用户名与口令由使用者在登录窗口中通过输入动态提供。
(4)在应用程序中可设计一定的"用户管理"功能,对用户的合法性进行认证,并进行相应有权限设置,进一步增强系统的安全性。