VFP访问外部数据源的几种方法
Visual FoxPro(以下简称VFP)是微软公司Visual系列开发工具中的一种。在VFP 60中,与外部数据源进行数据交换的方式有导入导出数据、远程视图、SQL Pass Through以及数据升迁等几种方式。其中,导入导出数据是完成对静态数据(或文本)的数据转换,而对动态数据源的访问则主要是使用Windows中的ODBC技术。本文介绍在设计客户/ 服务器体系结构的应用程序时,如何使用VFP来实现与外部数据源的数据交换。
导入导出数据
导入导出数据是指利用VFP的内部转换机制由一个静态文件生成一个指定的新文件的过程。可以被转换的文件类型主要有:Excel文件、Paradox数据库文件、Lotus电子表格中的数据以及其他形式的文本文件。
导入数据是指将一个外部文本转换成一个新的DBF文件。例如:将A盘上的一个abcxls文件转换成Example数据库下的CBADBF表,可用如下命令完成:
import from a:\abcxls Database Example Name cba Type xls
导出数据是指将一个打开的VFP数据表(DBF)文件转换成一个其他形式的外部文件,同时还可以使用范围或条件子句对被复制的数据进行过滤。例如:
use cba
copy to abc for fieldl=“aaaaa”,type xls
上述代码将CBADBF文件中满足条件“fieldl=,“aaaaa””的记录转换为Excel文件abcxls。
远程视图
远程视图以视图的方式通过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是一个中型数据库开发软件,比不上oracle、infomation、powerbuilder等,是微软购并fox公司后开发的一个数据库开发软件。可用于中型数据库软件工程的建构。可以用来做商业开发。
2access严格来说不是一个数据库应用程序的开发工具,基本上是一个办公应用软件;不能用于商业用途的开发。只能在office环境下运行,受office本身的限制。所用语言只是基于VB语言的辅助性编程的VBA。就其规模来说属于小型的数据库应用软件。早年曾有过ACCESS20(英文版)的可以用于商业用途的数据库开发软件。但后来不知道为什么没有继续研发出新的ACCESS版本。
3通常大型的数据库管理信息系统的开发,开发商多用oracle,或者POWERBUILDER,比如供电收费系统,使用oracle的较多;银行系统通常在UNIX操作系统环境下运行,因此,所使用的数据库开发软件是适用于UNIX操作系统环境的开发软件,如:COL(具体名称不记得了),或者DELPHI进行开发。
4就安全性而言,VFP比oracle等要差一些;ACCESS就更差了。
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。SQL Server数据库的特征及其与Access数据库的区别
visual foxpro是数据库管理系统,是介于数据库和用户的管理系统,集成开发语言,提供数据库操作前端界面的制作,提供c/s模式开发,提供api和activitx函数和控件的接口,是开发小型数据库的前端工具。
数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。另外,数据库管理系统的发展与计算机技术发展密切相关。而且近年来,计算机网络逐渐成为人们生活的重要组成部分。
扩展资料:
按功能划分,数据库管理系统大致可分为6个部分:
(1)模式翻译:提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。
(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。
(3)交互式查询:提供易使用的交互式查询语言,如SQLDBMS负责执行查询命令,并将查询结果显示在屏幕上。
(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。
(5)事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。
(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。
具体实现步骤:
1 要求pc机上安装VFP60和sqlserver2000软件。
2 配置windows的ODBC数据源:
开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择MICROSOFT FOXPRO VFPdriver(DBF)—》在ODBC VISUAL FOXPRO SETUP画面中, 自定义数据源名称(随意如:VFPTEST)—》DATABASE TYPE可以选择VISUAL FOXPRO DATABSE(DBC)或者FREE TABLE DIRECTORY(DBF如选择这种可以自由的选择目录)—》OK完成。
配置和测试ODBC完成!
3 配置sqlserver2000中的连接服务器:
企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:MICROSOFT OLE DB PROVideR FOR ODBC DRIVER; 产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称; 提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的VFP数据库中的用户名和密码 —》 安全性标签页里:设置用此安全上下文进行,并录入VFP的数据库用户名和密码—》服务器选项标签页可默认—》确定。
4准备工作全部完成!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该VFP数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为: [连接服务器名][VFP用户][表名]。更详细具体的使用这里不再赘述。
编写的一个软件系统VfpWeb,讨论了VfpWeb的功能、用途、特点及脚本程序的编写方法。提出利用VfpWeb进行网站设计制作的方案。
网站设计 众所周知,VFP是一个数据库管理系统,对于中小型数据库,他是非常得心应手的,但利用VFP开发Web系统、制作网站,可能许多人都没听说过。制作网站最传统的方法就是用ASP,ASP脚本中可以使用VbScript与JavaScript两种脚本语言。下面要介绍的就是如何在ASP中使用另一种语言VFP进行脚本程序的编写。当然,ASP本身是不能使用VFP程序的,为了能使用VFP,笔者专门开发了一个名叫VfpWeb的接口系统,该系统使得在ASP下使用VFP脚本程序成为可能。
1 VfpWeb介绍
VfpWeb是一个ASP的VFP接口系统,使用他之后就可以像在ASP中使用VbScript与JavaScript脚本那样,用VFP编写脚本程序了。用VfpWeb并不是仅仅能使用DBF数据库,而是可以真正用VFP程序进行编程。系统的实现原理是ASP调用VfpWeb的COM接口,再由COM接口调用VFP脚本程序,完成系统的工作。由于系统是一体化的,这些调用关系都是透明的,对用户来讲是不需要掌握的。因此系统的使用并不比直接用ASP麻烦。
由于系统的本质还是ASP,因此系统是需要ASP支持的,也就是说,必须先安装WEB服务器。VfpWeb支持Windows 98/Me下的PWS与Windows 2000下的IIS。系统安装后包括内核、管理工具与示例。管理工具进行脚本我与编译等工作,内核部分以DLL文件的方式提供发布服务。系统目前用于VFP7.0版,需要7.0版的VFP支持。虽然发布只需要VFP7.0的几个动态链接库,但安装开发环境,以便直接开发。 VfpWeb脚本文件不需要放在Web发布树中,因此客户端是无法查看到源程序代码的,这样可以起到保密的作用。
2 VfpWeb脚本程序格式
VfpWeb脚本程序的扩展名为FWX,是一个文本文件。其内容是HTML文本与VFP脚本程序的组合。所有的VFP脚本程序应该放在<%与%>中,即在<%%>内的是VFP脚本程序,其外的是HTML文本。这些与ASP的结构是一样的。FWX文件由系统编译成FXP文件,在ASP中调用,因此,使用VfpWeb并不排斥继续在ASP中使用另外2种脚本程序。
HTML文本块的格式:HTML文本块中可以使用各种HTML标签。包括HTML注释:即写在<!--与-->之间的内容,浏览器忽略其内容,一般用于注释及编写客户端脚本程序用,VfpWeb对其不做任何外VfpWeb增加了一种注释,内容放在<*与*>之间,其内容在编译时就直接丢弃,因此不会发送到客户端。
在HTML文本中,用<%=表达式%>的格式可以直接输出VFP表达式的值。表达式可以是任意类型的,系统会自动转换为字符串与HTML文本进行合并。 HTML块与VFP脚本块可以任意混合,甚至在一行中也可以多次相互变换。
在VFP脚本块中,VfpWeb增加了在一行中写多条语句的功能,只需在多条语句之间用“:”隔开即可(系统可以自动区分语句中的冒号)。这样把有关的几条语句写在一行中,可以增加程序的可读性。
vfp 什么是VFP?
Visual FoxPro ,是Microsoft公司从Fox公司的FoxBase数据库软件经过数次改良,并且移植到Windows之后,得来的应用程序开发软件,主要用于开发数据管理与运算等方面的软件。
FoxBase采用命令行方式(为了和当时流行的数据库软件dBase兼容……)但是速度比当时其他的数据库软件要快。
VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术,交肯有良好的兼容性、真正的可编译性和较强的安全性,是目前最快捷、最实用的数据库管理系统软件之一。
Visual FoxPro成长之路
Visual FoxPro(以下简称VFP)是个不断成长的小伙,承蒙Visual Studio(以下简称VS)的关照,VFP在开发者心目中一直是和VB、VC地位相同的工具语言,只不过它并不是通用开发工具,而只是专注于数据库应用的开发。
然而,吊足大家胃口的VSNET终于出现在开发者面前时,竟不见了VFP的身影,着实引起开发社区的一阵骚动。微软不要VFP了?不是,恰恰相反,VFP忍受不了VS缓慢的升级速度,“单干”了。现在的VFP已经升级到版本9,并且完全支持NET技术。
以下让我们来一起关注一下VFP的成长之路,看看每次升级VFP都为我们带来了那些诱人的新特性。当然,我们只整理了VFP 60以后的版本,也就是VFP 7、8、9。这些内容来自MSDN Library Online,我们仅参考每个版本VFP产品文档中的“What’s New”部分进行整理。
VFP 7
Web Services支持 VFP 7支持注册和发布Web Services,而无需使用Microsoft SOAP Toolkit和VFP扩展来从底层完成这些任务;
服务器增强 VFP 7对于COM服务器作了很大程度的增强,可以与核心平台如COM+服务进行互操作;
XML支持 为了适应以XML形式在Web上传送数据的潮流,VFP 7提供了一些函数用于在XML数据和FoxPro游标(Cursor)或表格(Table)之间的转换。
多样的XBase特性 VFP添加了很多新的或改进的XBase特性,并且这些特性都是用VFP语言编写的;
OLE DB Provider 通过实现OLE DB Provider接口,开发者可以在任何支持OLE DB的程序和语言中调用VFP数据。
VFP 8
n 数据特性增强 VFP 8对其数据特性进行了改进,并增加了很多新的数据特性,包括:远程数据连接、创建DataEnvironment类、自动增长域值、支持对照序列、与SQL语句Select…Union之间的隐式数据转换、使用SQL Select命令插入行等;
其他增强 VFP 8对一些工具、示例数据库和解决方案案例都进行了改进。
VFP 9
数据和XML增强 这一时期的VFP对其数据特性进行了巨大的加强,改进项目之多真是令人眼花缭乱,详情可以参考这里,此处不再赘述;
实现SQL语言 VFP 9已经能够充分地支持SQL查询语言;
设计器的增强 VFP 9增强了这些设计器:报表和标签设计器、菜单设计器、表格设计器、查询和视图设计器、数据环境设计器以及类和窗体设计器等;
其他方面的增强 和VFP 8一样,VFP 9在其他微小的细节上进行了不少的改进,使得开发者的体验更加舒适。
当然,上面提到的只是每次版本更新时所带来的新特性的冰山一角,另外没有提到的是IDE(在VFP里是Interactive Development Environment)和语言的增强,这是每次版本更新都会有所改进而且是大幅改进的,相信个中感受只有铁杆Foxer能够体会得到了。尽管这里所列的改进看上去甚少,但在MSDN Library Online上却占去了巨大的篇幅,有兴趣的朋友不妨到MSDN上浏览一下,就能深刻体会到为什么VFP不会死,而且还能茁壮成长了。
vfp远程视图与spt应用详解
远程视图(Remote Views)与SPT(SQL pass through)是vfp为开发Client/Server程序提供的两个内置的解决方案,如果您更深入的应用vfp,这两部分的内容是必须掌握的。
由于内容比较多,文章分成若干篇几次发完。但个人认为,远程视图与spt又是不可分割的整体,虽然spt应用得比较多,但若对远程视图没有比较深入的了解,我想你也不见得能用好spt。
本文来自: 编程入门网 http://wwwbiancengcn/Programming/vfp/200705/977htm
0条评论