Sybase bcp命令參考

2021-08-02 07:15:15 字數 3546 閱讀 1619

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_mechanism] [-q]

常用資料備份格式為:

bcp dbname..tablename out c:\temp\filename -usa -ppassword -sservername -c

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

如果為資料恢復

只需要將out 替換為 in 即可。

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

編輯乙個如下文字檔案 檔名稱例為 bcpscript:

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

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

goisql -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. 測試應用系統是否工作正常.

bcp    說明 以使用者指定的格式將資料庫表複製到作業系統檔案或從作業系統檔案中複製出來。bcp 位於$sybase/$sybase_ocs/bin 中。

windows nt 實用程式是 bcp.exe,它位於 %sybase%\%sybase_ocs%\bin 中。

語法 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]

[-z language]

[-a packet_size]

[-j client_charset]

[-t text_or_image_size]

[-e]

[-g id_start_value]

[-n]

[-x]

[-k keytab_file]

[-r remote_server_principal]

[-v [security_options]]

[-z security_mechanism]

[-q]

[-y]

或bcp -v

引數     database_name

如果正被複製的表位於預設資料庫或 master 中,則此引數是可選項。否則,必須指定資料庫名。

bcp in

bcp "db_ams..tblpatchpoltrxnmthly1101" in "d:\patchdata_1101.txt" -b 3000 -c -t! -s server_name -u username  -p password

bcp out

bcp "db_ams..tblbusnsrc_alt_pol_txn_mthly03" out "d:\patchdataalt_1103.txt" -c -t! -s "server_name" -u "username" -p "password"

Sybase BCP使用簡單命令

輸入匯出 每次處理1k行資料,資料字段以逗號隔開,以換行符 r 作為行終止符 bcp cws ship to map usps out d spd100 4w.txt c t u be p sy s develop r r 資料匯入 bcp cws ship to map usps in d spd...

EFI Shell 命令參考

引導命令 efi shell 與 npartition 引導有關的命令。autoboot 設定 檢視 自動引導超時變數 bcfg 顯示 或修改 驅動程式 或引導配置 boottest 設定 或檢視 boottest 位。dbprofile 顯示 修改要由 lanboot 使用的直接引導配置檔案 la...

Linux Shell YUM命令參考

選項 y 不需要使用者確認就發生操作。yum y install 軟體名稱 安裝指定的軟體 yum y update 公升級所以軟體 yum y update 軟體名稱 更新特定檔案 yum check update 檢查是否有需要更新的軟體 yum info 軟體名稱 顯示指定軟體的資訊 yum ...