Foxpro DBF数据库转换成SQL Server
2015-06-22 01:00
导读:计算机论文论文,Foxpro DBF数据库转换成SQL Server 应该怎么写,有什么格式要求,科教论文网提供的这篇文章是一个很好的范例:
摘要:本文主要介绍用
摘要:本文主要介绍用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 {in|out} 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 数据库名
in|out in从文件到数据库表的拷贝。
out从数据库表到文件拷贝。
datafile 操作系统文件的路径。该路径的长度可以是
1-255个字符。也可指明磁盘驱动器名字。
/C 用字符类型作为缺省值执行拷贝操作。
(转载自http://zw.NSEaC.com科教作文网)
/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为用户口令)。