您现在的位置: 范文先生网 >> 理工论文 >> 计算机论文 >> 正文

Foxpro DBF数据库转换成SQL Server 6.5表的几种方法

时间:2007-1-30栏目:计算机论文

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_dec=0
if field_len<8
sql_com=sql_com+"int "
else
sql_com=aql_com+"float "
endif
else
        sql_com=sql_com+"float "
endif
case field_type="D"
sql_com=sql_com+"datatime "
case field_type="M"
sql_com=sql_com+"text "
case field_type="G"
sql_com=sql_com+"binary "
endcase
skip
if .not.eof()
sql_com=sql_com+","
endif
enddo
sql_com=aql_com+" )"
success=dbexec(handle,sql_com)
if success
wait wind "SQL Server表已建立成功! "
else
wait wind "SQL Server表建立失败! "
endif
close all
clear all
retu
else    && 若连接不成功
wait wind "对不起,输入参数错误,无法连接SQL Server'
clear read
retu    
endif

(3)、再执行Foxpro程序conv_data将数据由.dbf传输到SQL Server表中。

conv_data.prg 程序清单

conv_data.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 fname        
&&fname字段名
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_title="insert into "+dbf_name+" ( "
do while .not.eof()
sql_title=sql_title+field_name
skip
if .not.eof()

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页