首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文信息技术
   FoxproDBF数据库转换成SQLServer6.5表的几种方法      ★★★ 【字体: 】  
FoxproDBF数据库转换成SQLServer6.5表的几种方法
收集整理:佚名    来源:本站整理  时间:2009-01-10 15:18:19   点击数:[]    

[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持]
   摘要:本文主要介绍用SQL Server bcp、Foxpro编程、Access等方法将.dbf数据库转换到SQL Server表的方法。

关键词:Xbase DBF SQL Server 数据库 转换

1、前言

当今,数据库联网实现数据共享已经成为信息系统建设中一个迅速发展的潮流。利用SQL Server、Oracal、Sybase等客户机/服务器(Client/Server)体系结构的数据库系统进行信息系统的开发、更新改造已成为当前一大趋势。而Dbase、Foxbase、Foxpro是我国近年应用较为广泛的数据库开发软件,许多单位、部门多年来积累了大量的宝贵的数据资料,这些部门在进行计算机信息系统改造、更新的同时,面临如何继承大量历史数据的问题,本文介绍三种将DBF数据转换成SQL Server表的方法。

2、利用SQL Server所提供的块拷贝实用程序(bcp)转换

实用程序bcp.exe可从服务器SQL目录下的BINN子目录下获得。

2.1、bcp的 命令格式及主要参数

bcp [[database_name.]owner.] table_name {inout} datafile [/m maxerror ][/f formatfile] [/e errfile] [/n] [/c] [/t] field_term] [/r row_term] [/U login_ID] [/P password] [/S servername] [/v version] [/a packet_size]
主要参数:
database_name   数据库名
inout     in从文件到数据库表的拷贝。
        out从数据库表到文件拷贝。
datafile       操作系统文件的路径。该路径的长度可以是
1-255个字符。也可指明磁盘驱动器名字。
/C         用字符类型作为缺省值执行拷贝操作。
/u login_ID   指定登录标识符。
/P password   允许指定一个口令。
/S servername   允许用户指定连接到哪个SQL Server

2.2、实现转换的具体方法

我们以Foxpro的数据库结构的单位职工库(zg.dbf)为例,进行数据转换。其数据结构为:

字段名 类型 字段长度 小数点位数 字段内容
bh C 4 职工编号
xm C 8 职工姓名
xb C 2 性别
nl N 2 0 年龄
zw C 10 职务
gzsj D 参加工作时间
jl M 简历
zp G 照片

实现步骤:

(1)、启动服务器,进入Window NT,SQL Server 6.0,打开SQL Enterprise Manager为单位职工库创建一个数据库设备zg.dat,然后在该设备上建立zg数据库及表(Table),表的数据结构要与zg.dbf的数据结构一致。或用以下SQL Server命令创建设备和创建表。

A、创建数据设备
disk init
name=zg               数据库设备名
physname=c:\\zg\\zg.dat   数据库文件所在路径
vdevno=8               数据库设备的标识号
size=5120               数据库设备大小(10M)

B、建立zg表
create database zg_data on zg=1024,log on zg=1024   建立数据库
use zg_data
create table zg ( bh char (4) null, xm char (8) null, xb char (2) null, nl int null, zw char (10) null,gzsj datatime null, jl text null, zp image null ) 建立表
go

(2)、在客户机上启动Foxpro,用USE命令打开需转换的.dbf文件,用COPY命令将.dbf文件中数据转换成标准的文本文件.txt,命令如下:
use zg.dbf
copy all to zg.txt deli with blan

(3)、从客户机登录到Windows NT服务器上,将zg.txt文件拷贝到服务器的职工库目录c:\\zg下。

(4)、在服务器上,由Windows NT进入到MS-DOS状态,然后执行bcp将数据从zg.txt转换到SQL表,命令格式如下:

bcp zg in zg.txt /c /s mainserver /u manager /P 0001 (mainserver为服务器名,manager为用户名,0001为用户口令)。

该转换方法速度较快,不占用服务器上事务日志空间。但较为复杂、繁锁,操作者必须熟练掌握Foxpro、SQL Server的命令和操作,而且无法将Foxpro的Memo、General字段转换到SQL Server表。

3、用Foxpro for Window 2.5 编程实现转换

用Foxpro编程实现数据转换即通过SQL Server提供的ODBC接口(开放数据库接口)及Foxpr提供ODBC接口工具Connectivity Kit (fpsql.fll),建立SQL与Foxpro的连接,由Foxpro向SQL Server提交创建表命令,然后将.dbf的每条记录,串成一个字符串,将插入命令连同字符串提交给SQL Server,完成数据转换。
实现步骤:

(1)、ODBC的设置:在客户机上启动Windows for group,进入Windows的控制面板( Control panel )。双击ODBC图标,进行zg数据库的ODBC驱动设置。

选择Add增加新的ODBC驱动接口,在Install ODBC drivers项选择SQL Server,按OK,弹出ODBC SQL Server Setup窗口,在 Data source name项中输入zg_data,Server项输入mainserver,按OK完成设置。

(2)、采用上述方法一中步骤1的⑴、⑵创建zg数据库设备及数据库,然后执行Foxpro程序crea_table,创建一个结构与.dbf结构相同的SQL Server表。程序清单如下:

crea_table.prg 程序清单

set talk off
close all
clear all
clear
store to dbf_name  
&& dbf_name 待转换的.dbf数据库
store to sql_db
&& sql_db目的SQL数据库
store to sql_com  
&& sql_com向SQL Server提交的命令
store to sql_title  
&& sql_title 为向SQL Server提交命令字头
store 0 to handle    
&& handle 为Foxpro与SQL Server连接的标识
store 0 to success  
&& success为命令提交成功与否的标识
set libr to

[1] [2]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:CRC校验实用程序库

  • 下一篇文章:基于CORBA的电子商务系统的安全性
  • 返回上一页】【打 印】【关闭窗口
    中查找“FoxproDBF数据库转换成SQLServer6.5表的几种方法”更多相关内容 5VAR论文频道
    中查找“FoxproDBF数据库转换成SQLServer6.5表的几种方法”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››基于Cosmos的包装容器跌落试验的开...
  • ››日产100吨抄纸车间工艺设计分析
  • ››SDH网络规划与设计的案例分析
  • ››装饰原纸增湿強及再制浆工艺的设计...
  • ››基于网络印刷色彩再现技术的创新分...
  • ››图象序列中的运动检测技术的开发分...
  • ››体温测量仪设计系统的分析
  • ››通用视频编解码平台系统的问题和策...
  • ››页面在线设计系统的问题和策略分析...
  • ››微粒助留助滤体系用于废纸制浆造纸...
  • ››FoxproDBF数据库转换成SQLServer6....
  • ››Foxpro DBF数据库转换成SQL Server...
  • ››FoxPro for Windows 远程拨号通讯功...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .