一 利用ODBC联接FoxPro数据库
在Power Builder中直接访问FoxPro数据库只能通过ODBC方式
在开发环境下可以直接在PowerBar画板上配置ODBC联接FoxPro数据库方法如下
单击Configure ODBC工具钮在Installed Drivers目录框中选择Microsoft Foxpro Driver (*dbf)
单击Create按钮命名数据源名选择版本取消使用当前工作目录选项
单击选定目录选择被联接数据库所在的目录确定退出
通过ODBC方式联接的FoxPro的数据库一定要满足FoxPro的数据库格式即数据库文件结构必须是字节文件描述 若干个字节的字段描述 结构描述结束符(D) 记录记录…… 文件结束符(A)由此看来传统的DBF数据库文件均可通过该方式联接对于Visual FoxPro环境下建立的表(Table)其结构与传统的数据库结构是不同的它在字段描述结束符(D)与记录之间加上了二百多个字节的内容但在未纳入VFP的数据库(Dbc)之前其内容为此时仍可以通过这种方式联接一旦纳入数据库中该段字节已被填上了其它内容无法再联接
在Power Builder应用程序中使用事务处理对象来联接数据库这种事务处理对象即有默认的SQLCA用户也可以自己生成以方便访问多个数据库在程序中使用事务处理对象时一般必须先指明DBMSDbParm两个属性对于FoxPro数据库还必须指明 Database useridservername几个属性这一点是与访问其他类型的数据库不同的地方
sqlcadbms=ODBC // 指定联接方式ODBC
sqlcadatabase=D:\prg\pubdata // 指定被联接数据库所在目录
sqlcauserid=public // 用户识别号都为 public
sqlcaservername=FOXPRO // 服务器名均为FOXPRO
sqlcadbparm=Connectstring=DSN=tscxs //数据源名
connect using sqlca; // 实施联接
……
通过对FoxPro数据库的联接用户便可以在Power Builder开发环境下应用程序中使用这些数据库快速地开发出自己的信息管理系统实现对这些数据库的维护与管理
二 将DBF文件转换为SQL Anywhere 的DB文件格式
在Power Builder环境下附带有一个数据库系统SQL Anywhere在Power Builder中利用它用户可以直接建立维护数据库在SQL Anywhere中数据库结构虽然与VFP不同但概念是一致的即数据库是系统中相关的各种数据这些数据又因不同用途组织成不同的表这些表共同构成数据库与传统的数据库(DBF)相类比PBVFP中的表即是传统意义的数据库PBVFP中的数据库类似于传统的数据库(DBF)文件所在的目录SQL Anywhere中提供了将传统的DBF文件转换为该系统下的数据库文件(DB)中的表的工具为了实现这一转换用户必须先建立一个新的表再将DBF格式的文件内容导入该表中
对于DBF文件必须是传统意义上的数据库如FoxProdBaseFoxBASE环境下的数据库文件该种数据库文件严格遵循数据文件==数据库结构+数据库记录这一格式其结构如下字节文件描述 若干个字节的字段描述 结构描述结束符(D) 记录记录…… 文件结束符(A)
A C
// 文件描述时间长
度记录长记录数
E D
// 第一个字段名类
型长起始位
F
// 第二个字段
F
……
D F C
// 结构结束符(D)
F D D E
记录
A
F E ……
D A
// 文件结束符(A)
将DBF文件直接转换为PB(SQL Anywhere)中的表操作步骤如下
[] []