BCP一般存放在所安裝的ASE或者Open Client 的BIN目錄中版本以前的ASEbcp存放目錄為 $SYBASE/bin版本(含版本)以後存放目錄為 $SYBASE/OCS_x/bin其中$SYBASE為SYBASE安裝目錄_x代表版本顯示為_或者_可執行文件名稱為bcpEXE
參數列表如下(可用 bcp – 得到)
usage: bcp [[database_name]owner]table_name[:slice_number] {in | out} datafile
[m maxerrors] [f formatfile] [e errfile]
[F firstrow] [L lastrow] [b batchsize]
[n] [c] [t field_terminator] [r row_terminator]
[U username] [P password] [I interfaces_file] [S server]
[a display_charset] [q datafile_charset] [z language] [v]
[A packet size] [J client character set]
[T text or image size] [E] [g id_start_value] [N] [X]
[M LabelName LabelValue] [labeled]
[K keytab_file] [R remote_server_principal]
[V [security_options]] [Z security_mechanism] [Q]
常用數據備份格式為
bcp dbnametablename out c:\temp\filename Usa Ppassword –Sservername –c
其中 –U後為SYBASE登錄名稱–P後為SYBASE登錄口令–S後為SYBASE服務名稱–c代表使用可見文本方式導出數據如果為數據恢復只需要將out 替換為 in 即可
可用如下方法生成一個可以一次導出一個數據庫中所有表的數據的執行腳本
編輯一個如下文本文件文件名稱例為 bcpscript
use dbname 選中將要導出數據的數據庫
go
select bcp dbname + name + out c:\temp\ + name + Usa P Ssybcdsrv c from sysobjects where type = U (在sysobjects系統表中type為U的表為用戶表系統表為S)
go
用如下格式執行
isql –Usa –Ppassword –Sservername –i bcpscript –o bcpoutbat(i參數後為輸入文件o參數後文件為輸入文件執行後得到的輸出文件)
執行後可以得到一個後綴名為 BAT 的批處理文件(在unix下則生成一個shell文件並更改相應的執行權限)可直接執行即在指定的目錄下導出了相應的數據文件一個表的數據為一個文件如在UNIX下則可不用BAT後綴
備份得到的數據文件如果需要重新往數據庫中恢復只需要將上面操作步驟中BCP命令中的out 參數換為in參數即可
注意在對正式數據做操作前最好先作一些測試
另外如果牽涉到使用bcp進行字符集的更改可以采用 –J charset 參數進行關於BCP等工具的具體使用指南請參見SYBASE相關文檔
針對系統移植所需做的工作應該有如下幾個步驟
安裝新環境的硬件環境包括網絡硬盤狀況;
安裝新環境的操作系統包括Service Pack;
安裝相同版本的SYBASE數據庫產品包括補丁;
添加數據庫用戶設備等相關信息應與老系統中一致
創建新系統數據庫;
利用你所擁有的表腳本或者通過SYBASE CENTRAL中的生成DDL功能將老系統中的建表腳本導出生成數據庫中的表最好將建表腳本與建立表上約束(主鍵外鍵等)的腳本分開先在表上不建約束在數據導入後再加上;
BCP OUT 老系統中數據根據上面提到的方法;
運行建立其他對象的腳本包括索引主鍵外鍵及存儲過程觸發器缺省等;
在新系統中對需要更改的表結構做更改或者添加新表;
測試應用系統是否工作正常
From:http://tw.wingwit.com/Article/program/Sybase/201311/11219.html