- 相關推薦
Foxpro DBF數據庫轉換成SQL Server 6.5表的幾種方法
摘要:本文主要介紹用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|outin從文件到數據庫表的拷貝。
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 o
【Foxpro DBF數據庫轉換成SQL Server 6.5表的幾種方法】相關文章:
《工程力學》中確定約束反力方向的幾種方法09-08
從西方幾種藝術史研究方法看中國繪畫史研究(精選10篇)02-23
數據庫開題報告10-29
計算機數據庫論文07-21
計算機數據庫論文07-20
談英語語法教學的幾種誤解08-22
SCI論文發表過程中的幾種狀態02-02
計算機數據庫論文15篇【經典】07-20