文档库 最新最全的文档下载
当前位置:文档库 › Sybase数据库的bcp命令

Sybase数据库的bcp命令

在sybase数据库中提供了一个bcp命令,利用这个命令来处理数据的备份和恢复,比软件中提供的数据备份、恢复要快的多,
因为该命令对数据的操作不产生日志。

首先来看一看bcp的命令格式:

bcp 数据库名+.+表名+in/out 文件名字(带路径)+-Usa –Ppassword -S SERVERNAME –c

解释:数据库名为要备份的数据库名字

表名为要备份的表的名字

in/out 备份用out,恢复用in

文件名字:备份形成的文件或恢复需要的数据文件,要求包含文件的路径信息

password:sa的口令

servername:如本机器连接多个数据库服务器,则需要指定相应的数据库服务器

我们可以利用sybase提供的其他SQL语句形成上述操作需要的所有文件,以cwbase1为例,sa的口令为aaaaaa,将财务数据备份到c:\sjbf\
目录下:

select ‘bcp cwbase1.’+name+’ out c:\sjbf\’+name+’.txt’+’ –Usa –Paaaaaa –Sserver –c’

from sysobjects where type=’U’ and name not like '#%'

select ‘bcp cwbase1.’+name+’ in c:\sjbf\’+name+’.txt’+’ –Usa –Paaaaaa –Sserver –c’

from sysobjects where type=’U’ and name not like '#%'

将上述语句执行后形成的语句形成不同的txt文件,将形成的bat文件简单用notepad或者word打开简单修改相应信息(如数据库的名字、
口令、server的名字),可以利用查找替换完成操作。

将上述形成的文件改为bat文件,在需要执行时,直接运行批处理文件即可。

之所以没有形成相应的文档,是因为各个单位的帐套中包含的系统不同,不能形成的统一的信息。







例:
1>select * into table_b from table_a where 1=2
2>bcp table_b in 'bcp.file' -U.. -P.. -S -...
3>insert into table_b (select * from table_a a where a.KEY_CLUSTER_FIELD not in (select KEY_CLUSTER_FIELD from table_b))
4>bcp table_b out 'newbcp.file' -U.....
5>trun tabel table_a
6>bcp table_a in 'newbcp.file' -U....




标准SQL操作语句,用isql来执行。

isql -S 服务器名 -D 数据库名 -U sa -P 密码 -i c:\clda.sql

相关文档