VFP访问外部数据源的几种方法
1个回答
展开全部
Visual FoxPro(以下简称VFP)是微软公司Visual系列开发工具中的一种。在VFP 6.0中,与外部数据源进行数据交换的方式有导入导出数据、远程视图、SQL Pass Through以及数据升迁等几种方式。其中,导入导出数据是完成对静态数据(或文本)的数据转换,而对动态数据源的访问则主要是使用Windows中的ODBC技术。本文介绍在设计客户/ 服务器体系结构的应用程序时,如何使用VFP来实现与外部数据源的数据交换。
导入导出数据
导入导出数据是指利用VFP的内部转换机制由一个静态文件生成一个指定的新文件的过程。可以被转换的文件类型主要有:Excel文件、Paradox数据库文件、Lotus电子表格中的数据以及其他形式的文本文件。
导入数据是指将一个外部文本转换成一个新的DBF文件。例如:将A盘上的一个abc.xls文件转换成Example数据库下的CBA.DBF表,可用如下命令完成:
import from a:\abc.xls Database Example Name cba Type xls
导出数据是指将一个打开的VFP数据表(DBF)文件转换成一个其他形式的外部文件,同时还可以使用范围或条件子句对被复制的数据进行过滤。例如:
use cba
copy to abc for fieldl=“aaaaa”,type xls
上述代码将CBA.DBF文件中满足条件“fieldl=,“aaaaa””的记录转换为Excel文件abc.xls。
远程视图
远程视图以视图的方式通过ODBC与外部数据源建立连接,从而达到访问或更新外部数据源的目的。它是客户/服务器体系结构中经常运用的一种访问外部数据源的方法。在VFP中建立远程视图的方式主要有两种:采用VFP中的视图向导和程序方式。在使用程序方式时,一般需要两个步骤:
● 通过ODBC与外部数据源建立一个命名连接;
● 定义视图。
建立一个远程视图后,用户就可以像调用一个自由表一样来使用它。在使用远程视图的过程中,应当注意以下几个问题:
● 远程视图只能对后台数据库进行查询、插入、更新和删除等操作,不能进行数据定义。它的事务处理只限于对本地数据库的操作,而无权管理后台数据库。
● 尽量不要使用远程视图对后台数据库进行多表插入的操作,以免产生非法NULL值或引起数据不一致。
● 尽量使用SQL语句完成对后台数据库的操作,以免在执行时产生二义性。
例如,我们要访问一个远程SQL Server上的my-db库中的my-tab表,可由如下的语句来完成(假定sql为已在ODBC中建立的与SQL Server 服务器的my-db数据库相连的数据源):
create connection example datasource sql userid usr-1 password sqlpass
/*建立一个名为example的与SQL Server服务器的连接*/
create sql view my-r-view remote connection example as select * from my -tab
/*建立一个名为my-r-view的远程视图。该视图依赖于example连接,视图访问的是my-tab表中的所有字段。*/
use my-r-view
/*打开my-r-view视图*/
browse
/*浏览视图中的内容*/
导入导出数据
导入导出数据是指利用VFP的内部转换机制由一个静态文件生成一个指定的新文件的过程。可以被转换的文件类型主要有:Excel文件、Paradox数据库文件、Lotus电子表格中的数据以及其他形式的文本文件。
导入数据是指将一个外部文本转换成一个新的DBF文件。例如:将A盘上的一个abc.xls文件转换成Example数据库下的CBA.DBF表,可用如下命令完成:
import from a:\abc.xls Database Example Name cba Type xls
导出数据是指将一个打开的VFP数据表(DBF)文件转换成一个其他形式的外部文件,同时还可以使用范围或条件子句对被复制的数据进行过滤。例如:
use cba
copy to abc for fieldl=“aaaaa”,type xls
上述代码将CBA.DBF文件中满足条件“fieldl=,“aaaaa””的记录转换为Excel文件abc.xls。
远程视图
远程视图以视图的方式通过ODBC与外部数据源建立连接,从而达到访问或更新外部数据源的目的。它是客户/服务器体系结构中经常运用的一种访问外部数据源的方法。在VFP中建立远程视图的方式主要有两种:采用VFP中的视图向导和程序方式。在使用程序方式时,一般需要两个步骤:
● 通过ODBC与外部数据源建立一个命名连接;
● 定义视图。
建立一个远程视图后,用户就可以像调用一个自由表一样来使用它。在使用远程视图的过程中,应当注意以下几个问题:
● 远程视图只能对后台数据库进行查询、插入、更新和删除等操作,不能进行数据定义。它的事务处理只限于对本地数据库的操作,而无权管理后台数据库。
● 尽量不要使用远程视图对后台数据库进行多表插入的操作,以免产生非法NULL值或引起数据不一致。
● 尽量使用SQL语句完成对后台数据库的操作,以免在执行时产生二义性。
例如,我们要访问一个远程SQL Server上的my-db库中的my-tab表,可由如下的语句来完成(假定sql为已在ODBC中建立的与SQL Server 服务器的my-db数据库相连的数据源):
create connection example datasource sql userid usr-1 password sqlpass
/*建立一个名为example的与SQL Server服务器的连接*/
create sql view my-r-view remote connection example as select * from my -tab
/*建立一个名为my-r-view的远程视图。该视图依赖于example连接,视图访问的是my-tab表中的所有字段。*/
use my-r-view
/*打开my-r-view视图*/
browse
/*浏览视图中的内容*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询