FOXPRO DBF數(shù)據(jù)庫轉(zhuǎn)換成SQL SERVER 65表的幾種方法_第1頁
FOXPRO DBF數(shù)據(jù)庫轉(zhuǎn)換成SQL SERVER 65表的幾種方法_第2頁
FOXPRO DBF數(shù)據(jù)庫轉(zhuǎn)換成SQL SERVER 65表的幾種方法_第3頁
FOXPRO DBF數(shù)據(jù)庫轉(zhuǎn)換成SQL SERVER 65表的幾種方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

摘要:本文主要介紹用sqlserverbcp、foxpro編程、access等方法將.dbf數(shù)據(jù)庫轉(zhuǎn)換到sqlserver表的方法。關(guān)鍵詞:xbasedbfsqlserver數(shù)據(jù)庫轉(zhuǎn)換1、 刖言當今,數(shù)據(jù)庫聯(lián)網(wǎng)實現(xiàn)數(shù)據(jù)共享已經(jīng)成為信息系統(tǒng)建設(shè)中一個迅速發(fā)展的潮流。利用sqlserver、oracal、sybase等客戶機/服務(wù)器(client/server)體系結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)進行信息系統(tǒng)的開發(fā)、更新改造已成為當前一大趨勢。而dbase、foxbase、foxpro是我國近年應(yīng)用較為廣泛的數(shù)據(jù)庫開發(fā)軟件,許多單位、部門多年來積累了大量的寶貴的數(shù)據(jù)資料,這些部門在進行計算機信息系統(tǒng)改造、更新的同時,面臨如何繼承大量歷史數(shù)據(jù)的問題,本文介紹三種將dbf數(shù)據(jù)轉(zhuǎn)換成sqlserver表的方法。2、 利用sqlserver所提供的塊拷貝實用程序(bcp)轉(zhuǎn)換實用程序bcp.exe可從服務(wù)器sql目錄下的binn子目錄下獲得。2.1、bcp的命令格式及主要參數(shù)bcp[[database_name.]owner.]table_name{in|out}datafile[/mmaxerror][/fformatfile][/eerrfile][/n][/c][/t]field_term][/rrow_term][/ulogin_id][/ppassword][/sservername][/vversion][/apacket_size]主要參數(shù):database_namein|outlogin_id][/ppassword][/sservername][/vversion][/apacket_size]主要參數(shù):database_namein|outdatafile1-255個字符。/c/u/p/slogin_idpasswordservername數(shù)據(jù)庫名in從文件到數(shù)據(jù)庫表的拷貝。out從數(shù)據(jù)庫表到文件拷貝。操作系統(tǒng)文件的路徑。該路徑的長度可以是也可指明磁盤驅(qū)動器名字。用字符類型作為缺省值執(zhí)行拷貝操作。指定登錄標識符。允許指定一個口令。允許用戶指定連接到哪個sqlserver2.2、實現(xiàn)轉(zhuǎn)換的具體方法類型字段長度小數(shù)點位數(shù)字段內(nèi)容職工編號職工姓名性別0年齡我們以foxpro的數(shù)據(jù)庫結(jié)構(gòu)的單位職工庫類型字段長度小數(shù)點位數(shù)字段內(nèi)容職工編號職工姓名性別0年齡xmcxbcnln8xmcxbcnln22zwcgzsjjlmzpg10職務(wù)zwcgzsjjlmzpgd參加工作時間簡歷照片實現(xiàn)步驟:、啟動服務(wù)器,進入windownt,sqlserver6.0,打開sqlenterprisemanager為單位職工庫創(chuàng)建一個數(shù)據(jù)庫設(shè)備zg.dat,然后在該設(shè)備上建立zg數(shù)據(jù)庫及表(table),表的數(shù)據(jù)結(jié)構(gòu)要與zg.dbf的數(shù)據(jù)結(jié)構(gòu)一致?;蛴靡韵聅qlserver命令創(chuàng)建設(shè)備和創(chuàng)建表。a、創(chuàng)建數(shù)據(jù)設(shè)備數(shù)據(jù)庫設(shè)備名diskinitname='zg'數(shù)據(jù)庫設(shè)備名physname='c:\\zg\\zg.dat' 數(shù)據(jù)庫文件所在路徑vdevno=8 數(shù)據(jù)庫設(shè)備的標識號size=5120 數(shù)據(jù)庫設(shè)備大小(10m)^建立zg表createdatabasezg_dataonzg=1024,logonzg=1024 建立數(shù)據(jù)庫usezg_datacreatetablezg(bhchar(4)null,xmchar(8)iull,xbchar(2)null,nlintnull,zwchar(10)null,gzsjdatatimenull,jltextnull,zpimagenull)建立表go、在客戶機上啟動foxpro,用use命令打開需轉(zhuǎn)換的.dbf文件,用copy命令將.dbf文件中數(shù)據(jù)轉(zhuǎn)換成標準的文本文件.txt,命令如下:usezg.dbfcopyalltozg.txtdeliwithblan、從客戶機登錄到windowsnt服務(wù)器上,將zg.txt文件拷貝到服務(wù)器的職工庫目錄c:\\zg下。、在服務(wù)器上,由windowsnt進入到ms-dos狀態(tài),然后執(zhí)行bcp將數(shù)據(jù)從zg.txt轉(zhuǎn)換到sql表,命令格式如下:bcpzginzg.txt/c/smainserver/umanager/p0001(mainserver為服務(wù)器名,manager為用戶名,0001為用戶口令)。該轉(zhuǎn)換方法速度較快,不占用服務(wù)器上事務(wù)日志空間。但較為復(fù)雜、繁鎖,操作者必須熟練掌握foxpro、sqlserver的命令和操作,而且無法將foxpro的memo、general字段轉(zhuǎn)換到sqlserver表。3、用foxproforwindow2.5編程實現(xiàn)轉(zhuǎn)換"用foxpro編程實現(xiàn)數(shù)據(jù)轉(zhuǎn)換"即通過sqlserver提供的odbc接口(開放數(shù)據(jù)庫接口)及foxpr提供odbc接口工具connectivitykit(fpsql.fll),建立sql與foxpro的連接,由foxpro向sqlserver提交創(chuàng)建表命令,然后將.dbf的每條記錄,串成一個字符串,將插入命令連同字符串提交給sqlserver,完成數(shù)據(jù)轉(zhuǎn)換。實現(xiàn)步驟:、odbc的設(shè)置:在客戶機上啟動windowsforgroup,進入windows的控制面板(controlpanel)。雙擊odbc圖標,進行zg數(shù)據(jù)庫的odbc驅(qū)動設(shè)置。選擇"add"增加新的odbc驅(qū)動接口,在installodbcdrivers項選擇"sqlserver",按"ok”,彈出"odbcsqlserversetup"窗口,在datasourcename項中輸入"zg_data",server項輸入”mainserver”,按"ok”完成設(shè)置。、采用上述方法一中步驟1的⑴、⑵創(chuàng)建zg數(shù)據(jù)庫設(shè)備及數(shù)據(jù)庫,然后執(zhí)行foxpro程序crea_table,創(chuàng)建一個結(jié)構(gòu)與.dbf結(jié)構(gòu)相同的sqlserver表。程序清單如下:crea_table.prg程序清單settalkoffcloseallclearallclearstore""todbf_name&&dbf_name待轉(zhuǎn)換的.dbf數(shù)據(jù)庫store""tosql_db&&sql_db目的sql數(shù)據(jù)庫store""tosql_title&&sql_title為向sqlserver提交命令字頭store0tohandle&&handle為foxpro與sqlserver連接的標識store0tosuccess&&success為命令提交成功與否的標識setlibrtofpsql.fll@2,20say”請輸入要轉(zhuǎn)換的數(shù)據(jù)庫(dbf)名:"getdbf_name@3,20say”請輸入目的sql數(shù)據(jù)庫名:"getsql_dbreaddbf_name=allt(dbf_name)sql_db=allt(sql_db)handle=dbconnect(sql_db,〃sa〃,〃〃)&&建立foxpro與sqlserver連接ifhandle>0&&若連接成功則use&dbf_nameasop_dbfin0&&以op_dbf為別名打開待轉(zhuǎn)換數(shù)據(jù)庫seleop_dbfcopytodb_strustruexte&&將其數(shù)據(jù)結(jié)構(gòu)拷貝生成db_stru庫usedb_struin0seledb_strugototopdowhile.not.eof()docasecasefield_type="c”allt(str(field_len))+")"casefield_type="n”iffield_dec=0iffield_len<8elseendifelseendifcasefield_type=〃d〃casefield_type=〃m〃casefield_type="g”endcaseskipif.not.eof()endifenddoifsuccesswaitwind"sqlserver表已建立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論