[b]bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。 [/b]
首先來個我自己使用過的命令:
匯出資料:
[b]bcp cnmsdb..tmp_respointcircuit out ./xuwb.dat -ucnms -pseenms -ssybase_test -c[/b]
匯入資料:
[b]bcp cnmsdb..tmp_respointcircuit in ./xuwb.dat -ucnms -pseenms -szoom193 -c[/b]
另外可以帶引數:[b]-t'||' -r'&&\n'[/b]
另外補充乙個,sybase下如何檢視資料庫名:
select db_name()
一般存放在所安裝的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 即可。
可用如下方法生成乙個可以一次匯出乙個資料庫中所有表的資料的執行指令碼。
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 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匯入資料亂碼 換行問題
最近做的乙個專案,被資料庫搞得有點鬱悶,原因是資料是別的同事匯入的。在字段限制和完整方面都沒做好,導致開發中出現各種奇怪的問題,在此做下記錄,以免以後也犯這類的錯 1 採用的bcp方式匯出資料出現亂碼解決方法 bcp zxvnms.t tmp carinfo in t tmp carinfo.txt...
SYBASE資料庫總結
sybase中插入資料的方式有 1.insert into b header temp cust record id select min id from c record temp group by out order no 2.select rowid identity 18 t.into b ...
sybase資料庫恢復
一 對tempdb的恢復 測試 在資料庫執行狀態下,在系統中rm刪除了擴充套件的tempdb裝置tempdbdev.dat,initializing virtual device 6,syb data tempdbdev.dat error 822,severity 20,state 2 恢復 停止...