當前位置:文思屋>學習教育>畢業論文>

計算機畢業論文-Foxpro DBF資料庫轉換成SQL Server 6.5表的幾種

文思屋 人氣:3.08W
計算機畢業論文-Foxpro DBF資料庫轉換成SQL Server 6.5表的幾種
摘要:本文主要介紹用SQL Server bcp、Foxpro程式設計、Access等方法將資料庫轉換到SQL Server表的方法。

關鍵詞:Xbase DBF SQL Server 資料庫 轉換

1、前言

當今,資料庫聯網實現資料共享已經成為資訊系統建設中一個迅速發展的潮流。利用SQL Server、Oracal、Sybase等客戶機/伺服器(Client/Server)體系結構的資料庫系統進行資訊系統的開發、更新改造已成為當前一大趨勢。而Dbase、Foxbase、Foxpro是我國近年應用較為廣泛的資料庫開發軟體,許多單位、部門多年來積累了大量的寶貴的資料資料,這些部門在進行計算機資訊系統改造、更新的同時,面臨如何繼承大量歷史資料的問題,本文介紹三種將DBF資料轉換成SQL Server表的方法。

2、利用SQL Server所提供的塊拷貝實用程式(bcp)轉換

實用程式可從伺服器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             用字元型別作為預設值執行拷貝操作。
/u login_ID    指定登入識別符號。
/P password    允許指定一個口令。
/S servername    允許使用者指定連線到哪個SQL Server

2.2、實現轉換的具體方法

我們以Foxpro的`資料庫結構的單位職工庫()為例,進行資料轉換。其資料結構為:

欄位名 型別 欄位長度 小數點位數 欄位內容
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資料庫及表(Table),表的資料結構要與的資料結構一致。或用以下SQL Server命令建立裝置和建立表。

A、建立資料裝置
disk init
name='zg'                     資料庫裝置名
physname='c:zg'    資料庫檔案所在路徑
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命令開啟需轉換的檔案,用COPY命令將檔案中資料轉換成標準的文字檔案,命令如下:
use 
copy all to  deli with blan

(3)、從客戶機登入到Windows NT伺服器上,將檔案拷貝到伺服器的職工庫目錄c:zg下。

(4)、在伺服器上,由Windows NT進入到MS-DOS狀態,然後執行bcp將資料從轉換到SQL表,命令格式如下:

bcp zg in  /c /s mainserver /u manager /P 0001 (mainserver為伺服器名,manager為使用者名稱,0001為使用者口令)。