Foxpro DBF数据库转换成SQL Server 6.5表的几种方法
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 Ser
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 fpsql.fll
@2,20 say "请输入要转换的数据库(dbf)名:" get dbf_name
@3,20 say "请输入目的SQL数据库名:" get sql_db
read
dbf_name=allt(dbf_name)
sql_db=allt(sql_db)
handle=dbconnect(sql_db, "sa","")
&& 建立Foxpro与SQL Server连接
if handle>0 && 若连接成功则
use &dbf_name as op_dbf in 0
&&以op_dbf为别名打开待转换数据库
sele op_dbf
copy to db_stru stru exte
&& 将其数据结构拷贝生成db_stru库
use db_stru in 0
sele db_stru
goto top
sql_com="creat table "+dbf_name+"( "
do while .not. eof()
sql_com=sql_com+field_name+" "
do case
case field_type="C"
sql_com=sql_com+"char ("+;
allt(str(field_len))+ ")"
case field_type="N"
if field_d 《Foxpro DBF数据库转换成SQL Server 6.5表的几种方法(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172340.html
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 Ser
ver表。
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 fpsql.fll
@2,20 say "请输入要转换的数据库(dbf)名:" get dbf_name
@3,20 say "请输入目的SQL数据库名:" get sql_db
read
dbf_name=allt(dbf_name)
sql_db=allt(sql_db)
handle=dbconnect(sql_db, "sa","")
&& 建立Foxpro与SQL Server连接
if handle>0 && 若连接成功则
use &dbf_name as op_dbf in 0
&&以op_dbf为别名打开待转换数据库
sele op_dbf
copy to db_stru stru exte
&& 将其数据结构拷贝生成db_stru库
use db_stru in 0
sele db_stru
goto top
sql_com="creat table "+dbf_name+"( "
do while .not. eof()
sql_com=sql_com+field_name+" "
do case
case field_type="C"
sql_com=sql_com+"char ("+;
allt(str(field_len))+ ")"
case field_type="N"
if field_d 《Foxpro DBF数据库转换成SQL Server 6.5表的几种方法(第2页)》