• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Sybase中bcp的用法

发布: 2008-7-25 17:12 | 作者: 网络转载 | 来源: ccid | 查看: 113次 | 进入软件测试论坛讨论

领测软件测试网 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. 测试应用系统是否工作正常.

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: bcp Sybase SYBASE 用法


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网