AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PowerBuilder

PB/Sybase系统开发中的数据库转移

51自学网 http://www.51zixue.net

  1、利用importfile ( )函数实现转移

  PowerBuilder是一种进行C/S系统开发的优秀的前端工具,本身提供了大量的功能和函数,其中DataWindow数据窗口是其重要的组成部分,具有强大的功能,其中importfile( )函数能够完成数据的转移。

  实现的过程是在服务器上创建一个同磁盘上的数据库结构相同的表,创建一个数据窗口对象(dw_fox),取数据源建立数据窗口,利用数据窗口对象本身的importfile( )函数将数据转移到数据窗口中,利用update( )函数将数据保存到服务器上所建的表中:

  dw_fox. importfi1e (cipan_file_name)
  dw_fox. Update ( )

  其中cipan_file_name为磁盘上的文件及其路径名称。该处理简单,但是缺乏灵活性,对在服务器数据库中建立的表的结构有比较高的要求,保证严格的一致性,但可以作相应的处理将有效的数据处理后转移到自己建的表中。

  2、利用ODBC连接实现转移

  ODBC是一种标准的应用程序接口(API),最早由Microsoft Windows系统实现,它允许一个应用程序同时连接多个数据源,它使用标准的SQL语句作为其数据查询语句。在处理过程中先通过ODBC画板静态地建立一个ODBC连接磁盘上的Foxbase数据库,编程中创建一个本地的事务对象连接本地的数据库,通过处理后,将有效的数据送到服务器上事先设计的一个与Foxbase数据库相类似的表中,保存有效的数据就可以了。在实际处理的过程中,各个地方的磁盘文件名是不同的,这样所连接的数据库文件名和目录都是变化的,那么在设计的时候就不能够实现将ODBC的接口固定设计出来,在处理的时候一般有两种方式,前端作一定的处理,即按照系统要求的目录和文件名称进行拷贝,为了使应用程序有更好的适应性,我们没有采取这种方式,而是另外一种方式,采取动态建立ODBC连接的方式。

  在PowerBuilder的ODBC连接中需要几个重要的参数,在利用ODBC事先建立一个连接FoxBASE数据库后(如Foxbase),查看pb.ini文件时将有如下的记录:

[PROFILE Foxtran]
DBMS=ODBC
.......
DbParm=Connectstring='DSN=FoxBASE'
Prompt=0
AutoCommit=0

  同样打开注册器在HKEY_CURRENT_USER Software/ODBC/ODBC.INI下将会发现已经注册的FoxBASE主键,这些给我们动态地建立ODBC连接提供了重要的资料。

  在具体的设置中利用PowerBuilder提供的函数注册一个ODBC的连接,然后创建一个事务对象连接本地(磁盘)的数据库,作相应的处理后将所需要的数据送到服务器上,具体的操作如下:

RegistrySet("HKEY_CURRENT_USER/Software/ODBC/ODBC.INI
 /FoxBASE", "Default Dir", regstring!, file_path)
             //设置FoxBASE主键
Transaction Foxtran
Foxtran=create Transaction //下面是初始化
Foxtran.DBMS="ODBC"
Foxtran.DBParm="Connectstring='DSN=FoxBASE'"
connect using Foxtran;

  其中FoxBASE是注册的ODBC的名称,Foxtran是事务对象管理中创建的用以连接Foxbase数据库的新事务,然后对事务对象进行初始化,file_path是磁盘数据库所在的路径名称(可根据用户输入的文件路径和文件名分析后取得)。利用动态创建ODBC连接同样可以同时连接其它的本地数据库如Access或者Sybase SQL anywhere等,具有一定的灵活性。

<

 

 

 
上一篇:PB环境下分布式应用程序的开发  下一篇:用PowerBuilder实现多层C/S系统