自動(dòng)轉(zhuǎn)換Foxpro/Oracle臺(tái)站數(shù)據(jù)庫(kù)的方法
2024-08-29 13:38:07
供稿:網(wǎng)友
 
             
  安裝Oracle版臺(tái)站治理信息系統(tǒng),涉及到許多網(wǎng)絡(luò)參數(shù)設(shè)置及數(shù)據(jù)庫(kù)創(chuàng)建、遷移等工作。其中Foxpro數(shù)據(jù)庫(kù)向Oracle數(shù)據(jù)庫(kù)的轉(zhuǎn)換就是一個(gè)要害步驟。                                                                                            原安裝說(shuō)明書(shū)是先把60個(gè)Foxpro數(shù)據(jù)文件?.DBF逐個(gè)導(dǎo)入到一個(gè)Access數(shù)據(jù)庫(kù),再把Access數(shù)據(jù)庫(kù)的60個(gè)表?Table 逐個(gè)導(dǎo)出到Oracle數(shù)據(jù)庫(kù)。手工導(dǎo)入/導(dǎo)出這60個(gè)表,既費(fèi)時(shí)又乏味,稍不留意就會(huì)出錯(cuò)。筆者通過(guò)編寫(xiě)兩個(gè)宏,實(shí)現(xiàn)自動(dòng)導(dǎo)入和導(dǎo)出,大大節(jié)省了時(shí)間,又杜絕了錯(cuò)誤的發(fā)生。在安裝我區(qū)臺(tái)站治理系統(tǒng)的過(guò)程中,收到了良好的效果?,F(xiàn)介紹如下,供大家參考。 
  
  一、在客戶端添加一個(gè)用戶數(shù)據(jù)源,作為訪問(wèn)Oracle數(shù)據(jù)庫(kù)用 
  如圖1所示,打開(kāi)“控制面板”,雙擊“ODBC數(shù)據(jù)源?32位”,點(diǎn)擊“用戶DSN”?再點(diǎn)擊“添加”,從列表中選擇“Microsoft ODBC for Oracle”作為驅(qū)動(dòng)程序,出現(xiàn)“Microsoft ODBC for Oracle安裝”窗口后分別在“數(shù)據(jù)源名稱(chēng)”、“用戶名稱(chēng)”、“服務(wù)器”框內(nèi)輸入SRRC_ORACLE、srrc_sa、SRRC,其他框可以不填。如圖2所示。最后點(diǎn)擊“確認(rèn)” 保存并退出。 
  
  二、編輯和進(jìn)行宏 
  Access提供一種稱(chēng)為“宏”的方法,答應(yīng)用戶編寫(xiě)自己的處理程序,以完成某些特定任務(wù)。Access提供了一個(gè)函數(shù)Transfer模幔簦幔猓幔螅謇詞迪質(zhì)菘獾牡既牒偷汲?。编辑厚W誦瀉甑牟街樅縵攏?lt;/p> 
  
  1.運(yùn)行Microsoft Access 97,新建數(shù)據(jù)庫(kù),取名為db。 
  
 ?。玻鐖D3所示,點(diǎn)擊“宏”,再點(diǎn)擊“新建”,將彈出一個(gè)宏編輯窗口。 
  
 ?。常c(diǎn)擊“操作”列,從列表中選擇“TransferDatabase”,然后編輯表1中各欄。 
  
  這個(gè)操作的含義是:把目錄C?\Database的一個(gè)格式為Foxpro2.5的數(shù)據(jù)文件account.dbf,導(dǎo)入到Access數(shù)據(jù)庫(kù)db的一個(gè)表中,表名為OLD_ACCOUNT。 
  
  4.轉(zhuǎn)下一欄,重復(fù)步驟3,分別把來(lái)源和目標(biāo)修改為acctname.dbf,allo_tmp.dbf,allocat.dbf,……,workfreq.dbf和OLD_ACCTNAME,OLD_ALLO_TMP,OLD_ALLOCAT,……,OLD_WORKFREQ,依次將60個(gè)數(shù)據(jù)文件轉(zhuǎn)換成Access表。 
  
 ?。担P(guān)閉宏編輯窗口,并保存宏,取名為“Foxpro_to_Access”。 
  
  6.運(yùn)行宏“Foxpro_to_Access”,把Foxpro數(shù)據(jù)庫(kù)導(dǎo)入到Access數(shù)據(jù)庫(kù)db。 
  
 ?。罚襟E2,再新建一個(gè)宏。 
  
  點(diǎn)擊“操作”框,從列表中選擇“TransferDatabase”,然后編輯表2中各欄。 
  
  該操作的含義是:把表OLD_ACCOUNT導(dǎo)出到ODBC數(shù)據(jù)庫(kù)。數(shù)據(jù)源名為SRRC_ORACLE,用戶名及口令均為srrc_sa。轉(zhuǎn)換后的Oracle表名為OLD_ACCOUNT。每次增加一行,修改來(lái)源和目標(biāo),把其余的59個(gè)表也導(dǎo)出到Oracle數(shù)據(jù)庫(kù)。 
  
  8.退出編輯并保存宏,取名為“Acess_to_Oracle”,運(yùn)行該宏,把Access數(shù)據(jù)庫(kù)導(dǎo)出到Oracle數(shù)據(jù)庫(kù)。 
  
  以上操作在Microsoft Access97上運(yùn)行通過(guò)。我們也可以編寫(xiě)一個(gè)宏,把Oracle數(shù)據(jù)庫(kù)導(dǎo)入到Access數(shù)據(jù)庫(kù)中,以達(dá)到備份數(shù)據(jù)的目的。當(dāng)Oracle數(shù)據(jù)庫(kù)遭到破壞時(shí),再運(yùn)行宏“Access_to_Oracle”進(jìn)行恢復(fù)。