BCP是SYBASE公司提供專門用于數(shù)據(jù)庫表一級數(shù)據(jù)備份的工具。
一般存放在所安裝的ASE或者Open Client 的BIN目錄中。 12版本以前的ASE,bcp存放目錄為 $SYBASE/bin 12版本(含12版本)以后存放目錄為 $SYBASE/OCS-12_x/bin 其中$SYBASE為SYBASE安裝目錄,12_x代表12.0、12.5版本,顯示為12_0或者12_5 常用數(shù)據(jù)備份格式為: bcp dbname..tablename out c:\temp\filename -Usa -Ppassword -Sservername -c 即可。 其中 -U后為SYBASE登錄名稱,-P后為SYBASE登錄口令,-S后為SYBASE服務名稱,-c代表使用可見文本方式導出數(shù)據(jù) 如果為數(shù)據(jù)恢復只需要將out 替換為 in 即可。 可用如下方法生成一個可以一次導出一個數(shù)據(jù)庫中所有表的數(shù)據(jù)的執(zhí)行腳本。 編輯一個如下文本文件 文件名稱例為 bcpscript: use dbname 選中將要導出數(shù)據(jù)的數(shù)據(jù)庫 go select 'bcp dbname..' + name + ' out c:\temp\' + name + ' -Usa -P -Ssybcdsrv -c' from sysobjects where type = 'U' 在sysobjects系統(tǒng)表中type為U的表為用戶表,系統(tǒng)表為S。 go 用如下格式執(zhí)行: isql -Usa -Ppassword -Sservername -i bcpscript -o bcpout.bat i參數(shù)后為輸入文件,o參數(shù)后文件為輸入文件執(zhí)行后得到的輸出文件。 執(zhí)行后可以得到一個后綴名為 BAT 的批處理文件(在unix下則生成一個shell文件并更改相應的執(zhí)行權限),可直接執(zhí)行。即在指定的目錄下導出了相應的數(shù)據(jù)文件。一個表的數(shù)據(jù)為一個文件。如在UNIX下則可不用BAT后綴。 備份得到的數(shù)據(jù)文件如果需要重新往數(shù)據(jù)庫中恢復,只需要將上面操作步驟中BCP命令中的out 參數(shù)換為in參數(shù)即可。 注意:在對正式數(shù)據(jù)做操作前最好先作一些測試。 另外,如果牽涉到使用bcp進行字符集的更改,可以采用 -J charset 參數(shù)進行 關于BCP等工具的具體使用指南,請參見SYBASE相關文檔。 針對系統(tǒng)移植所需做的工作,應該有如下幾個步驟: 1. 安裝新環(huán)境的硬件環(huán)境,包括網絡,硬盤狀況; 2. 安裝新環(huán)境的操作系統(tǒng),包括Service Pack; 3. 安裝相同版本的SYBASE數(shù)據(jù)庫產品,包括補丁; 4. 添加數(shù)據(jù)庫用戶,設備等相關信息,應與老系統(tǒng)中一致 5. 創(chuàng)建新系統(tǒng)數(shù)據(jù)庫; 6. 利用你所擁有的表腳本或者通過SYBASE CENTRAL中的生成DDL功能,將老系統(tǒng)中的建表腳本導出,生成數(shù)據(jù)庫中的表.最好將建表腳本與建立表上約束(主鍵,外鍵等)的腳本分開,先在表上不建約束,在數(shù)據(jù)導入后,再加上.; 7. BCP OUT 老系統(tǒng)中數(shù)據(jù),根據(jù)上面提到的方法; 8. 運行建立其他對象的腳本,包括索引,主鍵,外鍵及存儲過程,觸發(fā)器,缺省等; 9. 在新系統(tǒng)中對需要更改的表結構做更改,或者添加新表; 10. 測試應用系統(tǒng)是否工作正常. |
|