sql anywhere 的unload和reload(資料移轉) 用微軟sql server 的DTS實現從 ORACLE匯出資料到Sql Anywhere資料庫中
來源:互聯網
上載者:User
1、當前情況描述:
現有兩個資料庫:一個是oracle10g(下稱ora);另一個是sql anywhere 9.0(下稱asa)。這兩個資料庫的結構,從對應的角度上講是完全相同的,即所有的使用者資訊,表資訊,及相關觸發器,約束,預存程序等均為一一對應(其中ora有個別使用者自訂的表asa中沒有,但這些表可以通過系統重新建立)。然而不同的是Ora的資料庫是目前的生產庫,資料全部在這裡;asa的資料庫為建立的amos2(我們的軟體系統)資料庫,其中只含有部分資料。
2、要實現的目標:
將ora的資料完全匯入到asa中,從而可以用asa的資料庫替換ora的資料庫。
3、研究方法:
大家均認為用microsoft 的 dts匯入匯出工具來實現資料的遷移。
4、實施過程記錄: a)asa資料庫的unload(意在產生一個可以匯入資料的asa庫):開啟sybase central,串連asa資料庫,右鍵選擇unload database,按照提示進行操作,選擇unload資料庫結構到一個reload.sql檔案中,用於後續建立新資料庫。 b)建立新的asa庫(下稱asa01庫)可以匯入ora的資料:開啟sybase central,create database建立asa01資料庫;開啟reload.sql檔案,刪除其中建立外鍵,觸發器等語句,然後另存新檔reload01.sql;開啟asa01的sql工具(右鍵中有),開啟reload01.sql,執行!用於裝資料的asa01已建立完成。 c)用dts做匯出匯入:分別建立ora與asa01的odbc串連;開啟dts工具根據提示進行操作,最後在完成前儲存dts設定,以防止匯入資料過程出錯,需要重新進行操作。 d)asa01資料庫的unload:選擇unload資料庫結構與資料到reload02.sql,資料存在unload檔案夾內,用於reload。 e)重建完整庫asa02:開啟reload02.sql,將曾經刪除的部分(外鍵,觸發器等)加入;開啟sybase central,create database建立asa02資料庫;開啟asa02的sql工具(右鍵中有),開啟reload02.sql,執行!如執行無誤即成功;若有錯誤需要根據提示修改(註:可能出現comments的執行錯誤,原因為begin。。。end後的“;”,去掉這個分號即可,可能很多地方都有)。附:sql anywhere 的unload的操作步驟