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] {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参数后文件为输入文件执行后得到的输出文件。
执行后可以得到一个后缀名为 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 grs_dev1.dbo.mbl_mbl_subtype in c:\dbo.mbl_mbl_subtype.DAT -c -SSybase -Usa -P
后面输入-c
就不用再输入字段类型了 BCP是SYBASE公司提供专门用于数据库表一级数据备份的工具。
分享到:
相关推荐
bcp导入导出SQL Server和Sybase数据库数据
数据导出:在ServerDbConfig.cfg文件里配置好数据库访问所需要的信息,在sql文件下配置好要导出的SqlFiles,执行批处理DBUpdator_Normal.bat,就可以获得导出数据的文本形式,同样的配置导入工具的相关信息,...
利用BCP导入导出数据库数据为TXT等文本数据
bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。
下面将详细讨论如何利用bcp导入导出数据。 1. bcp的主要参数介绍 bcp共有四个动作可以选择。 (1) 导入。 这个动作使用in命令完成,后面跟需要导入的文件名。 (2) 导出。 这个动作使用out命令完成,后面跟需要导出的...
批量复制程序(BCP)是Microsoft SQL Server中的一个命令行实用程序。使用BCP,我们可以导入并可从SQL Server数据库中快速而轻松地导出数据。任何使用这个功能的数据库管理员都承认BCP是一个关键工具。
sybase数据库bcp导入导出数据报错处理以及注意事项
vb利用shell功能调用sql里的bcp数据库导出导入
上次传得只有导出,这次导入也做出来了。 加了中括号得数据库导入in,导出out不行,但是导出queryout可以(加中括号是数据库名字有破折号-,或空格的数据库)例如[spt-ceshi].dbo.tbl_A
可以将MSSQL数据库导出,创建同样的数据库后在进行导入,通过BCP的方式,简单,方便,快捷!在执行以下命令时,因为原数据库中的某些表可能有损坏,会导致执行失败,在错误信息前一行会显示该表名。为了让 语句能...
示例1:导出示例数据库AdventureWorks整个表currency 或视图,使用SQL连接 代码如下:bcp AdventureWorks.sales.currency out c:\currency1.txt -c -U”sa” -P”password” –使用SQL连接 示例2:同上,使用信任...
SQL语句导入导出大全 /******* 导出到excel EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’ /*********** 导入Excel SELECT * .。...
这里列举了BCP命令的导出与导入的例子:导出:C:\>bcp "select lc1,lc2,lc3 from t1" queryout f:\database
BCP_备份还原工具 批量导入导出的工具
数据库中的一个表快速导入另一个数据库中。 用bcp导入数据 按照数据表结构创建相应的结构,利用bcp转换数据
/**导入指定表的文本文件*/ EXEC master..xp_cmdshell 'bcp dbname..tablename in d:\DT.txt -c -Sservername -Usa -Ppassword' exec master..xp_cmdshell 'bcp "select * from dbname..tablena
MS SQL Server数据库SQL语句导入导出大全,包括与其他数据库和文件的数据的导入导出。 /******* 导出到excel EXEC master..xp_cmdshell ‘bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S“GNETDATA/...
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source c:\\test.sql; 另附mysql常用命令: (一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p...
这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP。 数据导出为XML 在SQL Server...
这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,简单的办法是BCP。 数据导出为XML 在SQL Server ...