sybase bcp 命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sybase bcp 命令相关的知识,希望对你有一定的参考价值。

我需要从数据库中导出一段时间的数据,但写的语句提示错误,请高手指点
bcp "select * from yxtshop..salrcd" queryout d:\aaa.txt -c -Usa -P -Sserver

  SYBASE数据库方面BCP说明:
  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
参考技术A BCP 后面是跟的表名,不是SQL,明白吗?
bcp dbname..tablename out 'd:\d1.txt' -Usa -Ppassword -Sservername -c

你可以把select * table 做成一个view,这样bcp可以这样写:
bcp dbname..Viewname out 'd:\d1.txt' -Usa -Ppassword -Sservername -c

参考资料:http://hi.baidu.com/netalang/blog/item/999bf4eb9748d7d5d539c9d9.html

sybase 恢复问题 在线等?跪求

Server Message: Number 3216, Severity 10
Line 1:
Backup Server session id is: 12. Use this value when executing the 'sp_volchanged' system stored procedure after fulfilling any volume change request from the Backup Server.
Server Message: Number 407402, Severity 2
Server 'WWW1FE7C9EAC63_BS', Procedure 'bs_read_header', Line 0:
Backup Server: 4.74.2.1: Unable to create database information file C:\WINDOWS\TEMP\WWW1FE7C9EAC63_BS12 : ち?????立桐驴??昆马.
Server Message: Number 2403, Severity 10
Line 1:
WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?').
Server Message: Number 8009, Severity 16
Line 1:
Error encountered by Backup Server. Please refer to Backup Server messages for details.

你可以试试用load database databasename(注:databasename 是数据库名) from 'compress::加上要恢复的数据库路径'
GO
参考技术A 这个和你的sybase bakup serve的字符集有关系,看你的备份文件以前的的字符集合现在的字符集是否一致!

以上是关于sybase bcp 命令的主要内容,如果未能解决你的问题,请参考以下文章

sybase 恢复问题 在线等?跪求

sybase中如何查询前一天的数据

sybase 如何像SQL SERVER一样建立作业,让他能定时运行存储过程

关于sybase的timestamp

在sybase中怎样用output命令把表中的数据导出来?

linux下如何启动和停止sybase的服务