SQL Server和Oracle間的資料同步解決方案

tolywang發表於2009-05-21

KingSunSha(弱水三千):

是單向同步嗎?即對於特定的表只有一個資料庫的資料發生變化?我們是用文字檔案進行資料交換,定時一個資料庫傳送所有在上次傳送以後更改過的紀錄,然後在另一端讀入文字檔案,當然要寫一些傳送和讀入的指令碼   
  如果是雙向的那問題就複雜好多  
   


  lisz()   :

我實現了從Oracle到SQL的複製。  
  建立連結,把Oracle的資料庫連結到SQL上,再在SQL上使用SP定時更新記錄,具體的做法在SQL的幫助上都有的。我想SQL到Oracle也可以做到。  
   


  KingSunSha(弱水三千):

還有一個做法我們也用過:對於需要同步的表,建立一個LOG表,每次對原表的操作,透過過程或者觸發器(很少用觸發器也是因為跟蹤太困難)寫入LOG表,定時把LOG表中的紀錄用文字檔案的方式發FTP到目標端伺服器,然後清空LOG表;在伺服器端把文字檔案倒入臨時表中,在從臨時表中對資料進行校驗後寫入目的表。  
  這麼做確實工作量比較大,但我們認為是值得的。對於同步來說,很重要的一點是必須非常方便查錯和恢復,因為在傳輸過程中常常有不可預知的錯誤。所以我們不大喜歡用SNAPSHOT之類的工具,而採用自己寫程式碼的方式控制。因為這些工具跟蹤過程太麻煩,很多東西是黑箱操作。  

 

farspeed(farspeed)回覆於 2002-05-29 15:17:00 得分 33

我做過類似的操作,具體的方法是,同事連著   oracle   和   sqlserver    
  (通訊程式)  
  然後從資料發起端讀出資料,然後寫入到資料接收端。  
   
  需要說明的是,兩邊的介面儘量簡單,資料庫部分的操作儘量放在資料庫中,  
  通訊程式只負責通訊工作。   
   

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-600662/,如需轉載,請註明出處,否則將追究法律責任。

相關文章