Sybasebcp命令参考

合集下载

sybase常用命令

sybase常用命令

以前的文档,整理时发现,贴出常用的命令集合一、配置命令1、检查CPU使用情况:sp_sysmon "internal","model"internal是监视时间。

例如:"00:01:00"model是模块的名称。

包括'kernel','wpm','parallel','taskmgmt','appmgmt','esp','housekeeper','monaccess','xa ctsum','xactmgmt','indexmgmt','mdcache','locks','dcache','pcache','memory','reco very','diskio','netio'2、检查使用的最大的引擎数(CPU)sp_configure "max online engines"此命令还可以改变sybase系统使用CPU的数量。

注意:改变后需要重新启动sybase才可以使培植生效。

引擎的数量是总的CPU数量减一3、显示引擎号、状态、相关任务数以及引擎启动的时间:select engine, status, affinitied, starttime from sysengines4、显示每个用户的繁忙程度sp_reportstats5、监视配置参数的运行情况sp_monitorconfig "open objects"参数见sp_monitorconfig中的值二、权限命令1、给一个用户授所有的权限grant all to user_name2、给一个用户授对某张表的所有权限grant all on table_name to user_name3、添加一个登录(login)sp_addlogin三、TSQL使用1、统计信息更新select "print '"+name+"'"+char(10)+"update statistics "+name+ char(10) + "go"from sysobjectswhere (type='U' or type='S')order by name2、显示所有触发器的名称、建立时间SELECT USER_NAME(A.uid) 'Table Owner', 'Table Name', 'Trigger Name',CONVERT(char(10),A.crdate,101)+SUBSTRING(CONVERT(char(20),A.c rdate,0),13,7) 'Create Date'FROM sysobjects A,sysobjects BWHERE A.type='TR'AND (A.id=B.instrig OR A.id=B.updtrig OR A.id=B.deltrig)3、关于参照--生成建立已有参照的SQL语句select distinct result_sql='alter table '+rtrim(object_name(tableid))+' add constraint '+rtrim(object_name(constrid))+' foreign key('++col_name(sysreferences.tableid,sysreferences.fokey1)+substring(',',1,sysre ferences.fokey2)+col_name(sysreferences.tableid,sysreferences.fokey2)+substring(',',1,sysre ferences.fokey3)+col_name(sysreferences.tableid,sysreferences.fokey3)+substring(',',1,sysre ferences.fokey4)+col_name(sysreferences.tableid,sysreferences.fokey4)+substring(',',1,sysre ferences.fokey5)+col_name(sysreferences.tableid,sysreferences.fokey5)+substring(',',1,sysre ferences.fokey6)+col_name(sysreferences.tableid,sysreferences.fokey6)+substring(',',1,sysre ferences.fokey7)+col_name(sysreferences.tableid,sysreferences.fokey7)+') '+'references '+rtrim(object_name(reftabid))+'('+col_name(sysreferences.reftabid,sysreferences.refkey1)+substring(',',1,sys references.refkey2)+col_name(sysreferences.reftabid,sysreferences.refkey2)+substring(',',1,sys references.refkey3)+col_name(sysreferences.reftabid,sysreferences.refkey3)+substring(',',1,sys references.refkey4)+col_name(sysreferences.reftabid,sysreferences.refkey4)+substring(',',1,sys references.refkey5)+col_name(sysreferences.reftabid,sysreferences.refkey5)+substring(',',1,sys references.refkey6)+col_name(sysreferences.reftabid,sysreferences.refkey6)+substring(',',1,sys references.refkey7)+col_name(sysreferences.reftabid,sysreferences.refkey7)+')'+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by go--生成删除参照的SQL语句select distinct result_sql='alter table'+rtrim(object_name(sysreferences.tableid))+' drop constraint'+rtrim(object_name(sysreferences.constrid))+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by object_name(sysreferences.tableid)go4、关于表级锁--列出所有锁类型为行锁的表select namefrom sysobjectswhere type='U'and sysstat2 & 57344 = 32768and name not like "XT%"order by name--调优的方法有:调整锁类型,调整表的聚簇索引--调整表锁类型为行锁,可以提高对表的并发访问性能,但是同时也会占用更多的系统资源--修改行锁的SQL语句:alter table [table_name] lock [datarows|allpages] ----调整表的聚簇索引在数据插入时,降低对表的最后一页的争用--Sybase规定一张表只能有一个聚簇索引,所以在调整聚簇索引时,要先删除原有的聚簇索引,然后再建立新的--例如将SB_ZSXX表的在ZSXH上聚簇索引修改为在NSRSBH上的聚簇索引.--删除原聚簇索引PK_SB_ZSXXdrop index SB_ZSXX.PK_SB_ZSXXgocreate nonclustered index PK_SB_ZSXX on SB_ZSXX(ZSXH)go-- 建立IDX_SB_ZSXX_NSRSBH的聚簇索引drop index SB_ZSXX.IDX_SB_ZSXX_NSRSBHgocreate clustered index IDX_SB_ZSXX_NSRSBH on SB_ZSXX(NSRSBH)go--以上的索引信息可以用sp_help命令列出5、求出指定字段等于指定值的记录数declare @lc_colname varchar(30)--declare @lc_colvalue /*定义欲求值的变量,随着变量的类型定义不同的值*/--取包含指定列名的表select distinct name=object_name(id) into #AA from syscolumns where name = @lc_colname--生成SQL,求出指定字段等于指定值的记录数select "insert into #BB select tname='"+name+"',cnt=count(*) from"+name+" where " + @lc_colname + "='" + @lc_colvalue + "'"+char(10)+"go"from #AA--运行SQL--检查记录不为零的表,既为求出的表select * from #BB where cnt>06、列出所有无主键的表select name from sysobjectswhere name not in (SELECT object_name(id)FROM sysindexesWHERE indid > 0AND status2 & 2 = 2and status & 2048 = 2048)and type="U"order by name7、关于用户登录--锁定用户select "sp_locklogin "+name+",'lock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name--解除锁定的用户select "sp_locklogin "+name+",'unlock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name8、为ctais_maint授权select "grant all on "+name+" to ctais_maint"+char(10)+"go" from sysobjects where type="U"9、整理出字段类型有text和image的表--text类型select distinct name=object_name(id)from syscolumnswhere type=35and id in (select id from sysobjects where type="U")order by object_name(id)--image类型select distinct name=object_name(id)from syscolumnswhere type=34and id in (select id from sysobjects where type="U")order by object_name(id)10、修改identity列的最大值--设置包含identity列的表为可直接插入记录set identity_insert [table] [on|off]--插入一个比较大的值insert into [table] values([value])[本帖最后由echoaix 于2006-4-8 22:25 编辑]命令行登录isql -Sservername -Usa -P1.安装字符集charset -Usa -Ppassword -Sservername binary.srt utf8charset -Usa -Ppassword -Sservername nocase.srt utf82.设置字符集sp_configure 'default charac',1733.设置排序sp_helpsortsp_configure 'default sortorder_id',1014.Sybase数据库数据和日志空间不能自动扩展,需要手工管理。

SYBASE Replication Server12.5 配置说明简介

SYBASE Replication Server12.5 配置说明简介

SYBASE Replication Server 配置说明配置环境:在安装Replication Server 完基础上,配置复制服务器,使用的是(Warm Stand-by)方式备份数据库。

主数据库:SYBASE.sytrade50_1217;复制数据库:SYBASEBACK.sybase50,RSSD 安装在复制服务器上。

并且,两个数据库的表结构,数据,过程,等等,都要完全相同。

在配置之前,请务必要先做到相同。

在数据方面,我们使用BCP 命令。

1.安装Replication Server Manage(RSM):运行要存在RSM_REP,配置query=TCP,192.168.100.179,5100RSM Server 语言 : 选择English RSM Server 字符集: 选择iso_1请填写Windows 密码请确认当出现这些信息时,表示建立或修改成功2.启动数据库打开Sybase Central ,启动我们在之前已经建立的数据库(SYBASEBACKUP ),包括备份数据库。

方法是右键,然后选择启动。

启动成功,随后启动REP_SYB。

启动RSM_SYB:在这里,REP_SYB和RSM_SYB,是无法登陆的,属于正常现象。

显示登陆失败。

3.然后连接到RSM:在这里,要注意的是,客户端,也就是在其他的windows NT 上,必选装SYBASE的产品Replication Server PC Client,它会自动安装一个插件For Sybase Replication Server。

也就是说,如果没有安装过Replication Server PC Client,是不会有这个选项的。

4. 通过Sybase Central 开始配置复制服务器:选择,RSM_REP,请不要选择REP_SYB 。

正常登陆后,可以发现,颜色起了变化,点击RSM_ REP 。

双击添加服务器;单击下一步首先:我们先要添加两个已存在的服务器。

Sybase数据库系统常用操作

Sybase数据库系统常用操作

Sybase数据库系统常用操作目录附录D Sybase数据库系统常用操作D-1D.1 Sybase数据库系统常用操作 D-1D.1.1 isql D-1D.1.2 bcp D-3D.1.3 showserver D-4D.1.4 startserver D-5D.1.5 shutdown D-5D.2 T-SQL语言D-6D.2.1 数据定义语句(DDL)D-6D.2.2 数据操作语句(DML)D-7D.2.3 数据控制语言(DCL)D-8D.3 Sybase数据库的备份与恢复 D-12D.3.1 系统软件故障恢复D-12D.3.2 备份数据库及其事务日志 D-12D.3.3 恢复数据库D-13D.3.4 监控事务日志空间大小方法D-14附录 D Sybase数据库系统常用操作本附录介绍Sybase系统常用操作、T-SQL语言、Sybase数据库的备份与恢复,方便用户在维护过程中进行查询。

D.1 Sybase数据库系统常用操作Sybase数据库系统为用户的管理、维护和访问SQL Server提供了下面几种常用的操作:●isql Sybase数据库提供的标准接口,也常用于批处理程序的执行●bcp用于SQL Server表和操作系统文件之间的数据的引入和引出●showserver查看SQL Server是否启动(若没有启动,可以用下面的命令startserver来启动SQL Server;若想关闭,可以用命令shutdown来关闭SQL Server)●startserver启动SQL Server●shutdown关闭SQL ServerD.1.1 isqlisql是Sybase数据库系统的一个前台工具,是基于字符的最基本的访问SQL Server数据库服务器的实用程序。

能够实现与服务器的连接,向服务器发送T-SQL命令。

所有的SQL查询语言和系统存储过程都必须在isql下执行,并可在屏幕上显示返回的结果信息。

Sybase使用BCP命令导入数据,Identity属性主键的处理

Sybase使用BCP命令导入数据,Identity属性主键的处理

Sybase使用BCP命令导入数据,Identity属性主键的处理
Sybase使用BCP命令导入数据,Identity属性主键的处理
(2010-01-23 21:31:48)
转载
标签:
sybase
bcp
identity
分类:哈哈写程序
主键
自增
it
程序定时使用BCP命令到处需要备份的表数据。

在测试导入时,发现Identity属性的主键值会递增。

这样会导致引用它的外键约束失效。

使用SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } 可以解决问题。

但任何时候,会话中只有一个表的IDENTITY_INSERT 属性可以设置为 ON。

如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则会返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。

这样用户如果使用bcp in 命令来恢复数据库会太麻烦了。

后面发现bcp命令加一个-E参数,导入即可以自动使用SET
IDENTITY_INSERT ON | OFF,很方便。

bcp 数据库名.所有者.tableName in /filePath/file.txt - Usa -Ppassword -SserverName -c -E。

Sybase命令集

Sybase命令集
26、sp_helpsort————查看系统的默认排序方式、字符集和主要的排序顺序表
27、select name,id from syscharsets go————查看系统字符集的安装状态
28、charset –Usa –P –Spc109 binary.srt cp936————将中文字符集cp936添加到系统中。在字符集目
Sybase命令
清理日志空间
dump tran master with no_log
go
dump tran sgsovsc with no_log
go
dump tran sgsovsc with truncate_only
go
//查看当前已经安装的字符集
use master
9、sp_helpdevice go—————查看sybase的数据设备信息
select name,phyname,vdevno,low from master..sysdevices where name=’master’ go
10、use master go
disk init
name=’spamms’,
\sybase\
locales\locales.dat
找到NT,修改最后一行配置为locale = default, us_english, cp936
//bcp命令
bcp ovsc..maxspeed out D:\cc.txt -Usa -Shunter -c -t "|"
online database dbname
表数据备份恢复
bcp dbname..tablename {out|in} c:\XXX -Usa -Ppassword –Sservername -Jutf8 –c -y

Sybase常用命令介绍(chenyi)

Sybase常用命令介绍(chenyi)

Sybase常⽤命令介绍(chenyi)1.1 常⽤命令介绍1.1.1 数据库操纵命令1.1.1.1 ISQL语法举例:isql –Usa –P –SSYSMIS {> filename{< filename}}说明:-U:⽤户名;-P:⼝令;-S:SERVER名。

SERVER名必须在$HOME/interfaces中有定义,其作⽤相当于PC CLIENT 端的sql.ini,其维护⼯具是$HOME/install/sybinit,相当于PC CLIENT端的sqledit.exe。

注意在使⽤sybinit定义SERVER时,IP地址在/etc/hosts⽂件中须有定义(如“192.9.202.201 hb1”),否则在定义过程中会有警告信息,但不影响使⽤。

1.1.1.2 dbcc checkdb作⽤:检查数据库状态。

语法举例:dbcc checkdb(DATABASE NAME)。

说明:⼀般情况下该命令与dbcc checkalloc、dbcc checktable 配合使⽤,以检查数据库的使⽤情况。

根据命令显⽰结果进⾏维护操作,该命令的输出显⽰⼀般为以下⽂本:……Checking syslogsThe total number of data pages in this table is 225.*** NOTICE: Space used on the log segment is 0.44 Mbytes, 0.88%.*** NOTICE: Space free on the log segment is 49.56 Mbytes, 99.12%.Table has 5168 data rows.……Checking csszh_csdjThe total number of data pages in this table is 1.Table has 16 data rows.……DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.若显⽰结果与上述有异,则结合其它dbcc命令确定具体是什么错误,报错时会显⽰Msg号,根据Msg号,采取相应的解决⽅法。

sybase乱码以及bcp导入问题

sybase乱码以及bcp导入问题

1. JDBC连接串要有字符集设置jdbc:sybase:Tds:192.168.3.11:5000/Wfis_db?charset=cp936 2. 服务器配置成cp936(1) 使用isql查看当前已经安装的字符集isql -Usa -Plongtop>use master>go>select id,name from syscharsets>goid name--- ----------------0 ascii_81 iso_12 cp85020 defaultml21 thaidict22 iso1465124 utf8bin25 binary39 altnoacc45 altdict46 altnocsp47 scandict48 scannocp50 bin_iso_150 bin_cp85051 dict52 nocase53 nocasep54 noaccent55 espdict56 espnocs57 espnoac59 rusnocs64 cyrnocs65 elldict69 hundict70 hunnoac71 hunnocs73 turknoac74 turknocs129 cp932bin130 dynix137 gb2312bn155 turdict161 euckscbn163 gbpinyin165 rusdict179 sjisbin192 eucjisbn194 big5bin(41 rows affected)从列表中看出没有安装cp936字符集(2) 查看当前使用的缺省字符集>sp_configure "default char">goParameter Name Default Memory Used Config Value Run Value Unit Type------------------------------ ----------- ----------- ----------------------- -------------------- ----------default character set id 2 0 22 id static缺省字符集的id是2,查看上面的列表,可以得知是cp850(3) 因为上面的列表中没有安装cp936,所以就安装cp936字符集进入目录C:\sybase\charsets\cp936运行命令charset -Usa -Plongtop binary.srt cp936运行完成后,系统就安装了cp936字符集(4) 验证是否确实安装了cp936字符集isql -Usa -Plongtop>use master>go>select id,name from syscharsets>goid name--- ------------------------------0 ascii_81 iso_12 cp85020 defaultml21 thaidict22 iso1465124 utf8bin39 altnoacc45 altdict46 altnocsp47 scandict48 scannocp50 bin_iso_150 bin_cp85050 bin_cp93651 dict52 nocase53 nocasep54 noaccent55 espdict56 espnocs57 espnoac59 rusnocs64 cyrnocs65 elldict69 hundict70 hunnoac71 hunnocs73 turknoac74 turknocs129 cp932bin130 dynix137 gb2312bn140 cyrdict155 turdict161 euckscbn163 gbpinyin165 rusdict171 cp936179 sjisbin192 eucjisbn194 big5bin(43 rows affected)从列表中可以发现已经安装了cp936,id是171(5) 把系统的当前缺省字符集设置为cp936>sp_configure "default char",171>goIn changing the default sort order, you have also reconfigured SQL Server'sdefault character set.Parameter Name Default Memory Used Config ValueRun Value Unit Type------------------------------ ----------- ----------- ----------------------- -------------------- ----------default character set id 2 0 1712 id static(1 row affected)Configuration option changed. Since the option is static, Adaptive Server mustbe rebooted in order for the change to take effect.Changing the value of 'default character set id' to '171' increases the amountof memory ASE uses by 6 K.(return status = 0)(6) 重启Sybase服务,使更改生效第一次重启,系统会对已经存在的数据进行转换,转换完成后自动停止服务,只要再次启动服务就可以了。

【sybase】bcp 问题总结

【sybase】bcp 问题总结

【sybase】bcp 问题总结标签:sybase bcp分类:数据库技术2010-12-29 23:04一. Bcp 错误ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failedEstablishing connection failed.无法连接远程服务器cs_convert: cslib user api layer: common library error: Theconversion/operation was stopped due to a syntax error in the source field. CSLIB Message: - L0/O0/S0/N36/1/0:导入表对应的列数量不正确cs_convert: cslib user api layer: common library error: Theconversion/operation was stopped due to a syntax error in the source field.导入数据存在自增长列,但数据源不存在自增长列blk_rowxfer(): blk layer: internal BLK-Library error: Data truncated while doing local character set conversion. col = 3导入表对应的字段长度不足ct_sendpassthru(): network packet layer: internal net library error: Net-Library operation terminated due to disconnectCTLIB Message: - L5/O3/S5/N5/5/0:字符集错误二. Bcp 导入不同字符集数据bcp in到字符集是utf8的数据库时使用以下的参数,这样就可以解决java程序使用utf8字符集看中文是乱码的问题:bcp dbname..tabname in filename -Uxx -Pxx -Sxx-Jcp936 -c -Y三. 注意事项1. Tempdb的大小当Sybase执行bcp in脚本时,会占用导入数据2倍的tempdb空间,因此在执行前要仔细估计最大的table的大小,保证有足够的tempdb空间。

sybase数据导入导出

sybase数据导入导出

sybase数据表的导出与导入方法我们经常会用到,下面就为你详细介绍sybase数据表的导出与导入方法,希望对您学习sybase数据表方面能有所帮助。

首先利用cmd的命令进入dos界面
如果需要从数据库里导出一张表。

在命令行的后面输入: bcp 数据库名..表名 out d:\表名.txt -U用户名 -P用户密码 -S数据库服务器名 -c -t"~~"
在这里如果连接的是远程服务器。

服务器名不能识别为IP地址。

因此要为该IP地址定义一个别名。

操作步骤如下:
在运行中输入 dsedit,进入如下界面
然后在server 中单击右键,添加一个服务器名,然后在右面的Server Address 行单击右键选择Modify Atrribute..
进入如下界面
单击添加。

然后输入IP及端口,注意IP地址与端口之间用逗号分开而还是分号。

然后就OK了。

然后测试下点 ping server(闪电图标的那个按钮)
导入表
在命令行的后面输入: bcp 数据库名..表名 in d:\表名.txt -U用户名 -P用户密码 -S数据库服务器名 -c -t"~~"
-E 关闭自增长,插入原值。

用bcp命令实现Sybase数据向SQL Server转换

用bcp命令实现Sybase数据向SQL Server转换

用BCP命令实现Sybase数据向SQL Server的转换BCP命令是SQL Server和Sybase用来备份和恢复数据用的工具,它使用方便,备份、恢复速度快。

在SQL Server中和在Sybase中使用bcp命令,语法格式相似。

因此,实践中审计人员在对Sybase数据库数据进行采集转时,可以考虑先用bcp命令将Sybase数据库数据以文本格式导出,再用bcp 命令将由Sybase导出的文本格式文件导入到SQL Server数据库。

值得注意的是:在同一机器中如果同时安装了SQL Server 和Sybase后,用bcp命令对SQL Server数据库或Sybase数据库进行导入导出操作时,常会出现如下错误:1、对SQL Server数据库进行bcp操作可能出现的错误:2、对Sybase 数据库进行bcp操作可能出现的错误:这是由于在同一台机器上安装SQL Server和Sybase后,环境变量变了,在执行bcp命令时,系统找到的不是对应的bcp。

解决问题的方法是:用bcp命令对SQL Server 数据库进行导入导出操作时,就将SQL Server对应的环境变量提前;用bcp 命令对Sybase数据库进行导入导出操作时,就将Sybase对应的环境变量提前。

设置过程如下:我的电脑→属性→高级→环境变量双击系统变量path,进入“编辑系统变量”,复制变量值粘贴到到一个空记本事,选定要提前的内容,复制、粘贴到最前面,再将修改后的内容全部复制、粘贴回变量值,点击“确定”保存设置(如不能立即生效,则重启机器)。

下面以转换某县社保部门Sybase数据库备份数据为例(**.dat格式),说明转换过程:一、安装Sybase,在Sybase中新建一个为zysb的数据库(用户sa ,密码为空),在该数据中还原Sybase备份数据(备份数据存放位置为f:\zysb.dat),还原过程命令格式为:C:\Documents and Settings\Administrator>isql -Usa -P1> load database zysb from f:\zysb.dat2>go1> online database zysb2>go二、在SQL Server中新建一个数据库,为方便导入也命名为zysb,打开该SQL Server数据库。

bcp参数详解

bcp参数详解

bcp 说明以用户指定的格式将数据库表复制到操作系统文件或从操作系统文件中复制出来。

bcp 位于$SYBASE/$SYBASE_OCS/bin 中。

Windows NT 实用程序是 bcp.exe,它位于 %SYBASE%\%SYBASE_OCS%\bin 中。

语法 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][-z language][-A packet_size][-J client_charset][-T text_or_image_size][-E][-g id_start_value][-N][-X][-K keytab_file][-R remote_server_principal][-V [security_options]][-Z security_mechanism][-Q][-Y]或bcp -v参数 database_name如果正被复制的表位于缺省数据库或 master 中,则此参数是可选项。

否则,必须指定数据库名。

所有者如果您或数据库所有者拥有正被复制的表,则此参数是可选项。

如果未指定所有者,bcp 首先查找您所拥有的表是否有此名称,然后查找数据库所有者所拥有的表是否有此名称。

如果其他用户拥有此表,则必须指定所有者名,否则命令将失败。

view_name是正在拷出的视图名。

xp_cmdshell_BCP数据导入导出

xp_cmdshell_BCP数据导入导出

今天上网查了查资料,知道了bcp简单的转入和转出操作。

一、BCP是SyBase公司提供的专门用于数据库表一级数据备份工具,因此它的操作是对表进行的。

二、常用的语句如下:导出表:bcp dbname .. tablename out c:\temp\filename -u sa -p password -s servername -cdbname 数据库名;tablename表名;-u 后为登陆名称;-p 后登陆口令;-c 表示使用可见文本方式导出数据。

其中在数据名和表名中间是两个点。

导入表:bcp dbname .. tablename in c:\temp\filename -u sa -p password -s servername -c注:二者的区别仅是out和in的区别而已。

三、使用sql产生bcp命令快速备份/恢复你所有数据(仅用于sybase和mssqlserver数据库)(转载,有空研究一下吧)bcp命令是sybase和ms sql server用来备份和恢复数据用的工具,它使用方便,备份/恢复速度快。

当table过多时,编写批处理是一件繁琐的事情。

可以使用下面方法快速生成bcp的批处理select ''bcp database..'' + name + '' out '' + ''/data/'' + name + ''.out'' + '' -n -sservername -usa -pxxx'' from database..sysobjects where type = ''u''将上面database换成自己需要备份的数据库名称,-sservername改为对应sql server名称-pxxx 将xxx换成实际sa密码,上面语法是用来备份数据,将第一行中的out改为in即可生成恢复数据的批处理以上可以在sybase或ms sql server的isql中执行(ms sql server 7.0中isql已变为query analyzer),然后将执行结果通过剪贴板copy到记事本(注意不要copy结果集的标题),保存为bat文件。

用bcp命令实现Sybase数据向SQL Server转换

用bcp命令实现Sybase数据向SQL Server转换

用BCP命令实现Sybase数据向SQL Server的转换BCP命令是SQL Server和Sybase用来备份和恢复数据用的工具,它使用方便,备份、恢复速度快。

在SQL Server中和在Sybase中使用bcp命令,语法格式相似。

因此,实践中审计人员在对Sybase数据库数据进行采集转时,可以考虑先用bcp命令将Sybase数据库数据以文本格式导出,再用bcp 命令将由Sybase导出的文本格式文件导入到SQL Server数据库。

值得注意的是:在同一机器中如果同时安装了SQL Server 和Sybase后,用bcp命令对SQL Server数据库或Sybase数据库进行导入导出操作时,常会出现如下错误:1、对SQL Server数据库进行bcp操作可能出现的错误:2、对Sybase 数据库进行bcp操作可能出现的错误:这是由于在同一台机器上安装SQL Server和Sybase后,环境变量变了,在执行bcp命令时,系统找到的不是对应的bcp。

解决问题的方法是:用bcp命令对SQL Server 数据库进行导入导出操作时,就将SQL Server对应的环境变量提前;用bcp 命令对Sybase数据库进行导入导出操作时,就将Sybase对应的环境变量提前。

设置过程如下:我的电脑→属性→高级→环境变量双击系统变量path,进入“编辑系统变量”,复制变量值粘贴到到一个空记本事,选定要提前的内容,复制、粘贴到最前面,再将修改后的内容全部复制、粘贴回变量值,点击“确定”保存设置(如不能立即生效,则重启机器)。

下面以转换某县社保部门Sybase数据库备份数据为例(**.dat格式),说明转换过程:一、安装Sybase,在Sybase中新建一个为zysb的数据库(用户sa ,密码为空),在该数据中还原Sybase备份数据(备份数据存放位置为f:\zysb.dat),还原过程命令格式为:C:\Documents and Settings\Administrator>isql -Usa -P1> load database zysb from f:\zysb.dat2>go1> online database zysb2>go二、在SQL Server中新建一个数据库,为方便导入也命名为zysb,打开该SQL Server数据库。

bcp命令详解

bcp命令详解

【IT168 技术文档】bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。

bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。

在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。

下面将详细讨论如何利用bcp导入导出数据。

1. bcp的主要参数介绍bcp共有四个动作可以选择。

(1) 导入。

这个动作使用in命令完成,后面跟需要导入的文件名。

(2) 导出。

这个动作使用out命令完成,后面跟需要导出的文件名。

(3) 使用SQL语句导出。

这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句。

(4) 导出格式文件。

这个动作使用format命令完成,后而跟格式文件名。

下面介绍一些常用的选项:-f format_fileformat_file表示格式文件名。

这个选项依赖于上述的动作,如果使用的是in或out,format_file表示已经存在的格式文件,如果使用的是format则表示是要生成的格式文件。

-x这个选项要和-f format_file配合使用,以便生成xml格式的格式文件。

-F first_row指定从被导出表的哪一行导出,或从被导入文件的哪一行导入。

-L last_row指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束。

-c使用char类型做为存储类型,没有前缀且以"\t"做为字段分割符,以"\n"做为行分割符。

-w和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nchar做为存储类型。

-t field_term指定字符分割符,默认是"\t"。

-r row_term指定行分割符,默认是"\n"。

SYBASE常用命令

SYBASE常用命令

附录六:SYBASE常用命令 一、UNIX命令工具 bcp [[database_name.]owner.]table_name {in | out} datafile[-c] [-t field_terminator] [-r row_terminator] [-U username] [-P password]用途:数据加载工具说明:database_name 数据库名称owner 数据库所有者table_name 数据表名in | out 数据从文件加载到数据库用in,数据从数据库拷到文件用out-c 以缺省方式载数据-t field_terminator 字段间的分隔符-r row_terminator 记录间的分隔符-U username 登录数据库用户名-P password 登录数据库密码例子:bcp info..highexam in highexam.txt -c -t : -r \\n -Uinfouser -P infotest把文件highexam.txt的内容加载到info数据库highexam表中,文件格式为字段以“:”分隔,记录以回车符分隔。

isql [-H hostname] [-i inputfile] [-P password] [-S server][-U username] [-y sybase_directory]用途:数据加载工具说明:-H hostname sybase server 主机名-i inputfile 输入命令批处理文件名-P password 登录用户密码-S server sybase server 名-U username 登录用户名-y sybase_directory sybase目录二、T-SQL语句 ALTER DATABASE database_name [ON {DEFAULT | database_device} [=size][,database_device} [=size]]...][LOG ON {DEFAULT | database_device} [=size][,database_device} [=size]]...]用途:扩充数据库大小。

BCP

BCP

bcp单表导入导出命令详解BCP是SYBASE公司提供专门用于数据库表一级数据备份的工具。

一般存放在所安装的ASE或者Open Client 的BIN目录中。

可执行文件名称为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即可。

其中dbname为数据库名,tablename为表名,-U后为SYBASE登录名称,-P后为SYBASE登录口令,-S后为SYBASE服务名称(即你在dsedit中设置的Servername),-c代表使用可见文本方式导出数据如果为数据恢复只需要将out 替换为in 即可。

sybase备份与恢复及sybase常用语句

sybase备份与恢复及sybase常用语句

sybase备份与恢复及sybase常⽤语句sybase备份有两种⽅式,⼀种是对单表进⾏备份,⼀种是对整个数据库进⾏备份1、单表备份与恢复只需要使⽤sybase提⾼的bcp命令就可以了:bcp的命令格式:bcp 数据库名..表名 in/out ⽂件名字 -Usa –Ppassword -S SERVERNAME –c解释:数据库名为要备份的数据库名字表名为要备份的表的名字in/out 备份⽤out,恢复⽤in⽂件名字:备份形成的⽂件或恢复需要的数据⽂件,要求包含⽂件的路径信息password:sa的⼝令servername:如本机器连接多个数据库服务器,则需要指定相应的数据库服务器2、整个数据库的备份与恢复这种⽅式相对⽐较复杂⼀点,需要在备份前启动sybase的备份服务,启动⽅式如下:startserver -f RUN_SYBASE //启动SYBASE服务RUN_SYBASE:#!/bin/sh## Master device path: /home/sybase/data/master# Error log path: /home/sybase/install/SYBASE.log# Directory for shared memory files: /home/sybase# Adaptive Server name: SYBASE#/home/sybase/bin/dataserver \-d/home/sybase/data/master \-e/home/sybase/install/SYBASE.log \-M/home/sybase \-sSYBASE \startserver -f RUN_SYBASE_BAK //启动sybase备份服务RUN_SYBASE_BAK:#!/bin/sh## Error log path: /home/sybase/install/SYB_BACKUP.log# Maximum number of network connections: 25# Maximum number of server connections: 20# Backup Server name: SYB_BACKUP#/home/sybase/bin/backupserver \-e/home/sybase/install/SYB_BACKUP.log \-N25 \-C20 \-SSYB_BACKUP \备份数据库⽅法:dump database 数据库名 to 路径恢复数据库⽅法:load database 数据库名 from 路径在恢复数据库前需要确保已经存在空的数据库了:disk initname="物理设备名",physname="/home/sybase/data/aa.dat",vdevno=8, //⽤sp_helpdevice察看那些no还没有使⽤size=5120 (每个单位是2K)建⽴物理设备时要关注磁盘空间是否够⽤:df -kcreate database 数据库名 on 数据名=5120数据库恢复后,是离线状态,需要⼿⼯online: online database 数据库名然后就是添加sybase的注册名和数据库的⽤户名:sp_addlogin "user","password" //添加注册 gouse 数据库名gosp_adduser "user"go察看数据库中所有表的⽅法:Select name from sysobjects where type='U'要执⾏sybase的命令需要先登录sybaseisql -Usa -P。

sybase命令大全

sybase命令大全

sybase命令大全30、startserver –f servername ————启动sybase数据库服务12703565231、which isql————查看isql32、isql –Usa –Plonton –Spc109————进入isql33、isql –Usa –Plonton –i(input file) /opt/sybase/spamms.sql –o(out file) /opt/sybase/sybaselog.log————执行数据库脚本34、dump database spamms to “/opt/sybase/spamms.dat” go ————备份数据库35、load database spamms from “/opt/sybase/spamms.dat” go————还原数据库36、online database spamms————激活数据库37、isql参数详解1) isql -?————显示isql开关的语法摘要2)isql –L————列出本地配置的服务器和在网络上广播的服务器的名称3) isql –Ulogin_id————用户登陆ID4) isql –Ppassword————用户制定的密码,若未使用这个选项,将提示输入密码,如果为空,默认未NULL。

5) isql –Sservername ————连接到的服务器名38、bcp dbname..tablename out /opt/sybase/spamms.txt –Usa –Plonton –Sservername –c(可见的文本方式到处数据)————数据备份bcp dbname..tablename in /opt/sybase/spamms.txt –Usa –Plonton –Sservername –c(可见的文本方式到处数据)————数据还原39、一次性导出所有表1)编辑一个文本文件,文件名称为bcpscript:2)use spamms goselect ‘bcp dbname..’+name+’out/opt/sybase/spamms.txt’+’-Usa –P –Sservername -c’from sysobjects where type=’U’U表示为用户表。

sybase数据库常用命令及函数

sybase数据库常用命令及函数

sybase数据库常用命令及函数数据库常用命令及函数1. bcp lottery_data..c_template_sql out c_template_sql -Usa [-T3276800] -P654321 -Slottery_query [-r/n] [-eerr_c_template_sql ] -t"[@]" -c//此语句是数据表导出语句,中括号表示可以省略的部分。

2. select 'bcp lottery_data..'+name+' out '+name+' -Usdfc -Psdadmini -Slottery_query -c -t"[@]" -eerr_'+namefrom sysobjectswhere type = "U"and name not like "z_bk%"order by name//此语句是在PB中生成语句,这些语句可以导出数据库中的表名。

3. ddlgen -Ujxfc -Pjxadmini -Slottery_sell -Dlottery_data -Osell.sql//此语句生成数据库对象。

详细参数参看第4项,如下:4. Sybase ASE 下用ddlgen导出表结构由 tedabc 在周六, 2009-12-19 21:55 提交脚本内容#exportTable.shexport SYBROOT=/syb64bitexport SYBASE_JRE=/syb64bit/shared/jre142_015>table.ddlcat table.list|while read tabdoddlgen -Usa -P -SSYB_SERV -Duserdb -TU -N${tab} -O tmp.ddlcat tmp.ddl|sed '/^create/,/^go/!d' >>table.ddldonerm tmp.ddlddlgen的其他用法:存储过程ddlgen -Usa -P -SSYB_SERV -Duserdb -TP -N% -O proc.ddl 数据库ddlgen -Usa -P -SSYB_SERV -Duserdb -TDB -Nuserdb -O db.ddl表结构ddlgen -Usa -P -SSYB_SERV -Duserdb -TU -N% -O table.ddl 视图ddlgen -Usa -P -SSYB_SERV -Duserdb -TV -N% -O view.ddl5. exec sp_rename c_st_station_day_tmp , c_st_station_d ay_2006;//修改表名.6. select getdate();//获取数据库日期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

bcp 说明以用户指定的格式将数据库表复制到操作系统文件或从操作系统文件中复制出来。

bcp 位于$SYBASE/$SYBASE_OCS/bin 中。

Windows NT 实用程序是 bcp.exe,它位于 %SYBASE%\%SYBASE_OCS%\bin 中。

语法 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][-z language][-A packet_size][-J client_charset][-T text_or_image_size][-E][-g id_start_value][-N][-X][-K keytab_file][-R remote_server_principal][-V [security_options]][-Z security_mechanism][-Q][-Y]或bcp -v参数 database_name如果正被复制的表位于缺省数据库或 master 中,则此参数是可选项。

否则,必须指定数据库名。

所有者如果您或数据库所有者拥有正被复制的表,则此参数是可选项。

如果未指定所有者,bcp 首先查找您所拥有的表是否有此名称,然后查找数据库所有者所拥有的表是否有此名称。

如果其他用户拥有此表,则必须指定所有者名,否则命令将失败。

view_name是正在拷出的视图名。

table_name是要复制的数据库表的名称。

表名不能是 Transact-SQL 保留字。

分区号 partition_number 并不存在于表 table_name 中。

slice_number是要复制的数据库表的数据段的编号。

partition_id是要复制到的分区的标识符。

in | out是复制方向。

in 表示从文件向数据库表中复制;out 表示从数据库表或视图向文件复制。

datafile是操作系统文件的全路径名。

路径名的长度可以是 1 到 255 个字符。

-m maxerrors是在 bcp 中止复制之前,允许的最大非致命错误数。

bcp 放弃不能插入的每一行(由于转换错误,或尝试向不允许有空值的列中插入空值〕,同时将每个被放弃的行计为一个错误。

如果不包括此参数,bcp 将使用缺省值 10。

- f formatfile是文件的完整路径名,该文件存储着上次在同一个表上使用 bcp 时的应答。

回答 bcp 的格式提问后,它提示您将回答保存到一个格式文件中。

格式文件的创建是可选的。

缺省文件名是 bcp.fmt。

bcp 程序可以在复制数据时引用格式文件,这样用户就不必以交互式方式重复以前的格式应答。

只有在用户以前创建了希望现在用于拷入或拷出的格式文件的情况下,才使用 -f 参数。

如果不指定此参数,bcp 将以交互方式向用户询问有关格式的信息。

- e errfile是错误文件的全路径名,bcp 在其中存储无法从文件传送给数据库的所有行。

来自 bcp 的错误消息显示在终端上。

bcp 只在指定此参数后才创建错误文件。

- F firstrow是要从输入文件中复制的第一行的行号(缺省为第一行)。

在执行多进程复制这一繁重任务时应避免使用 -F 选项,因为它通常导致 bcp 占用更多资源来运行,且不能加快进程。

而应将 -F 用于单个进程,进行即席复制。

- L lastrow是要从输入文件复制的最后一行的行号(缺省为最后一行)。

- b batchsize是每批数据中被复制的行数(缺省为复制一批数据的所有行)。

批量复制只适用于批量拷入;对批量拷出不起作用。

bcp 接受的 batchsize 的最小数值为 1。

- n使用本机(操作系统)格式执行复制操作。

指定 -n 参数意味着 bcp 将不对每个字段进行提示。

使用本机数据格式的文件为人工不可读格式。

- c使用 char 数据类型作为数据文件中所有列的缺省数据类型来进行复制操作。

如果要在平台间共享数据,则使用这种格式。

此参数不对每个字段进行提示;它使用 char 作为缺省的存储类型,没有前缀,使用 \t(制表符)作为缺省的字段终结符,并且使用 \n (换行符)作为缺省的行终结符。

- t field_terminator指定缺省的字段终结符。

- r row_terminator指定行终结符。

-U username指定 Adaptive Server 的登录名。

- P password指定 Adaptive Server 口令。

如果没有指定 -Ppassword,bcp 将提示输入口令。

如果口令是 NULL,可以省略 -P 标志。

- I interfaces_file指定连接到 Adaptive Server 时要搜索的接口文件的名称和位置。

如果没有指定 -I,bcp 将在 SYBASE 环境变量(Windows NT 中的 ini 目录)指定的目录中查找接口文件(Windows NT 中的 sql.ini)。

- S server指定要连接到的 Adaptive Server 名。

如果指定不带参数的 -S,bcp 将使用 DSQUERY 环境变量指定的服务器。

- a display_charset允许用户从终端上运行 bcp,而此终端上的字符集与正在运行 bcp 的计算机上的字符集不同。

将 -a 和 -J 联用以指定转换所需的字符集转换文件(.xlt 文件)。

只有在客户端字符集与缺省字符集相同时,才单独使用 -a,而不使用 -J。

如果使用 -a 参数命名的字符转换文件遗漏或输错名称,将出现如下错误消息:Error in attempting to determine the size of a pair of translation tables.:'stat' utility failed.- z language是服务器用来显示 bcp 提示和消息的替代语言的正式名称。

没有 -z 标志时,bcp 使用服务器的缺省语言。

可以在安装期间或安装之后,使用langinstall 实用程序(或 Windows NT 中的 langinst)或 sp_addlanguage 存储过程向 Adaptive Server 添加语言。

如果使用 -z 参数指定了不正确或无法识别的语言,会显示如下错误消息:Unrecognized localization object. Using default value'us_english'.Starting copy...=> warning.- v显示 bcp 的版本号和版权消息,并返回操作系统。

- A packet_size指定用于此 bcp 会话的网络包大小。

例如:bcp pubs2..titles out table_out -A 2048为此 bcp 会话将包大小设置为 2048 字节。

packet_size 必须介于 default network packet size 和 maximum network packet size 配置变量的值之间,且必须是 512 的倍数。

使用大于缺省值的网络包大小可提高大批量复制操作的性能。

- J client_charset指定在客户端上使用的字符集。

bcp 使用过滤器在 client_charset 和Adaptive Server 字符集之间转换输入。

-J client_charset 请求将 Adaptive Server 字符集与客户端上使用的字符集 client_charset 进行相互转换。

不带参数的 -J 将字符集转换设置为 NULL。

这样不会发生任何转换。

若客户端与服务器使用相同的字符集,则使用该设置。

如果省略 -J,则字符集将设置为平台的缺省字符集,且不必是客户端正使用的字符集。

如果使用 -J 参数指定了不正确或无法识别的字符集,将显示如下错误消息:Unrecognized localization object. Using default value'iso_1'.Starting copy...=> warning.- T text_or_image_size允许以字节为单位指定 Adaptive Server 发送的 text 或 image 数据的最大长度。

缺省值为 32K。

如果 text 或 image 字段大于 -T 的值或缺省值,bcp 不会发送此溢出值。

- E显式指定表的 IDENTITY 列的值。

缺省情况下,在向包含 IDENTITY 列的表中批量复制数据时,bcp 将为每行指派一个临时的 IDENTITY 列值 0。

这仅在向表中复制数据时有效。

bcp 从数据文件中读取 ID 列的值,但是不将值发送给服务器。

相反,在 bcp 向表中插入每一行时,服务器为每行指定一个唯一的、连续的 IDENTITY 列值,起始值为 1。

如果向表中复制数据时指定了 - E 标志,bcp 将从数据文件中读取列值,并将该值发送给向表中插入该值的服务器。

如果插入的行数超过了 IDENTITY 列可能的最大值,Adaptive Server 将返回一个错误。

将数据批量复制出来时,-E 参数不起作用。

Adaptive Server 会将 ID 列复制到数据文件,除非您使用 -N 参数。

不能同时使用 -E 和 -g 标志。

- g id_start_value指定将 IDENTITY 列的值作为拷入数据的起点。

不能同时使用 -g 和 -E 标志。

- N跳过 IDENTITY 列。

在以下情况下使用该参数:拷入数据时主机数据文件不包含 IDENTITY 列值的占位符;或者拷出数据时不希望主机文件中包含IDENTITY 列信息。

拷入数据时,-N 和 -E 参数不能同时使用。

- X指定在与服务器的这次连接中,应用程序启动带客户端口令加密的登录。

bcp (客户端)通知服务器希望进行口令加密。

服务器返回一个密钥,bcp 使用此密钥加密口令,然后服务器在口令到达时使用此密钥对它进行鉴定。

如果bcp 崩溃,系统将创建一个包含用户口令的核心文件。

如果未使用加密选项,则口令在文件中以纯文本格式显示。

相关文档
最新文档