当前位置: 首页 > 数据库 > sybase教程 > 正文

Sybase数据备份之BCP用法简介

时间:2010-06-19

BCP一般存放在所安装的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] {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 dbname..tablename 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 bcpout.bat(i参数后为输入文件,o参数后文件为输入文件执行后得到的输出文件)