Sybase中bcp的用法

2021-04-13 05:49:59 字數 2293 閱讀 5806

bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。

一般存放在所安裝的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

可執行檔名稱為bcp.exe

引數列表如下:(可用 bcp – 得到)

usage: bcp [[database_name.]owner.]table_name[:slice_number] 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 inte***ces_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_mechani**] [-q]

常用資料備份格式為:

bcp dbname..tablename out c:  empfilename -usa -ppassword –sservername –c

即可。其中 –u後為sybase登入名稱,–p後為sybase登入口令,–s後為sybase服務名稱,–c代表使用可見文字方式匯出資料

如果為資料恢復只需要將out 替換為 in 即可。

可用如下方法生成乙個可以一次匯出乙個資料庫中所有表的資料的執行指令碼

use dbname 選中將要匯出資料的資料庫

goselect 'bcp dbname..' + name + ' out c:  emp' + name + ' -usa -p -ssybcdsrv -c' from sysobjects where type = 'u' 在sysobjects系統表中type為u的表為使用者表,系統表為s。

go用如下格式執行:

isql –usa –ppassword –sservername –i bcpscript –o bcpout.bat

i引數後為輸入檔案,o引數後檔案為輸入檔案執行後得到的輸出檔案。

執行後可以得到乙個字尾名為 bat 的批處理檔案(在unix下則生成乙個shell檔案並更改相應的執行許可權),可直接執行。即在指定的目錄下匯出了相應的資料檔案。乙個表的資料為乙個檔案。如在unix下則可不用bat字尾。

備份得到的資料檔案如果需要重新往資料庫中恢復,只需要將上面操作步驟中bcp命令中的out 引數換為in引數即可。

注意:在對正式資料做操作前最好先作一些測試。

另外,如果牽涉到使用bcp進行字符集的更改,可以採用 –j charset 引數進行

關於bcp等工具的具體使用指南,請參見sybase相關文件。

針對系統移植所需做的工作,應該有如下幾個步驟:

1. 安裝新環境的硬體環境,包括網路,硬碟狀況;

2. 安裝新環境的作業系統,包括service pack;

3. 安裝相同版本的sybase資料庫產品,包括補丁;

4. 新增資料庫使用者,裝置等相關資訊,應與老系統中一致

5. 建立新系統資料庫;

6. 利用你所擁有的表指令碼或者通過sybase central中的生成ddl功能,將老系統中的建表指令碼匯出,生成資料庫中的表.最好將建表指令碼與建立表上約束(主鍵,外來鍵等)的指令碼分開,先在表上不建約束,在資料匯入後,再加上.;

7. bcp out 老系統中資料,根據上面提到的方法;

8. 執行建立其他物件的指令碼,包括索引,主鍵,外來鍵及儲存過程,觸發器,預設等;

9. 在新系統中對需要更改的表結構做更改,或者新增新錶;

10. 測試應用系統是否工作正常.

Sybase中bcp匯入匯出資料批處理檔案的生成

從資料庫中把所有表資料匯出 set nocount on use databasename goselect bcp databasename.name out d temp name txt uusername ppassword sservername c from sysobjects whe...

BCP說明及用法

bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。一般存放在所安裝的ase或者open client 的bin目錄中。12版本以前的ase,bcp存放目錄為 sybase bin 12版本 含12版本 以後存放目錄為 sybase ocs 12 x bin 其中 sybase為syba...

sybase資料庫bcp匯入資料亂碼 換行問題

最近做的乙個專案,被資料庫搞得有點鬱悶,原因是資料是別的同事匯入的。在字段限制和完整方面都沒做好,導致開發中出現各種奇怪的問題,在此做下記錄,以免以後也犯這類的錯 1 採用的bcp方式匯出資料出現亂碼解決方法 bcp zxvnms.t tmp carinfo in t tmp carinfo.txt...