loading 发表于 2005-10-28 10:32:12

BCP说明

<Palign=center><o:p><FONT face="Times New Roman">前一段时间一个朋友要我帮忙找一个BCP的介绍,那几天正在出差, 回来他的数据也导完了这个东东也就白弄了,放出来希望对大家有些帮助</FONT></o:p></P>
<P ><FONT face="Times New Roman">BCP</FONT>是<FONT face="Times New Roman">SYBASE</FONT>公司提供专门用于数据库表一级数据备份的工具。</P>
<P >一般存放在所安装的<FONT face="Times New Roman">ASE</FONT>或者<FONT face="Times New Roman">Open Client </FONT>的<FONT face="Times New Roman">BIN</FONT>目录中。</P>
<P ><FONT face="Times New Roman">12</FONT>版本以前的<FONT face="Times New Roman">ASE</FONT>,<FONT face="Times New Roman">bcp</FONT>存放目录为<FONT face="Times New Roman"> $SYBASE/bin</FONT></P>
<P ><FONT face="Times New Roman">12</FONT>版本(含<FONT face="Times New Roman">12</FONT>版本)以后存放目录为<FONT face="Times New Roman"> $SYBASE/OCS-12_x/bin</FONT></P>
<P >其中<FONT face="Times New Roman">$SYBASE</FONT>为<FONT face="Times New Roman">SYBASE</FONT>安装目录,<FONT face="Times New Roman">12_x</FONT>代表<FONT face="Times New Roman">12.0</FONT>、<FONT face="Times New Roman">12.5</FONT>版本,显示为<FONT face="Times New Roman">12_0</FONT>或者<FONT face="Times New Roman">12_5</FONT></P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P >可执行文件名称为<FONT face="Times New Roman">bcp.EXE</FONT></P>
<P >参数列表如下:(可用<FONT face="Times New Roman"> bcp – </FONT>得到)</P>
<P ><FONT face="Times New Roman">usage: bcp [owner.]table_name[:slice_number] {in | out} datafile</FONT></P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P ><FONT face="Times New Roman">      [-m maxerrors] [-f formatfile] [-e errfile]</FONT></P>
<P ><FONT face="Times New Roman">      [-F firstrow] [-L lastrow] [-b batchsize]</FONT></P>
<P ><FONT face="Times New Roman">      [-n] [-c] [-t field_terminator] [-r row_terminator]</FONT></P>
<P ><FONT face="Times New Roman">      [-U username] [-P password] [-I interfaces_file] [-S server]</FONT></P>
<P ><FONT face="Times New Roman">      [-a display_charset] [-q datafile_charset] [-z language] [-v]</FONT></P>
<P ><FONT face="Times New Roman">      [-A packet size] [-J client character set]</FONT></P>
<P ><FONT face="Times New Roman">      [-T text or image size] [-E] [-g id_start_value] [-N] [-X]</FONT></P>
<P ><FONT face="Times New Roman">      [-M LabelName LabelValue] [-labeled]</FONT></P>
<P ><FONT face="Times New Roman">      [-K keytab_file] [-R remote_server_principal]</FONT></P>
<P ><FONT face="Times New Roman">      [-V ] [-Z security_mechanism] [-Q]</FONT></P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P >常用数据备份格式为:</P>
<P ><FONT face="Times New Roman"><B >bcp dbname..tablename out c:\temp\filename -</B><st1:country-region><st1:place><B >Usa</B></st1:place></st1:country-region><B > -Ppassword –Sservername –c<o:p></o:p></B></FONT></P>
<P >即可。</P>
<P >其中<FONT face="Times New Roman"> –U</FONT>后为<FONT face="Times New Roman">SYBASE</FONT>登录名称,<FONT face="Times New Roman">–P</FONT>后为<FONT face="Times New Roman">SYBASE</FONT>登录口令,<FONT face="Times New Roman">–S</FONT>后为<FONT face="Times New Roman">SYBASE</FONT>服务名称,<FONT face="Times New Roman">–c</FONT>代表使用可见文本方式导出数据</P>
<P >如果为数据恢复只需要将<FONT face="Times New Roman">out </FONT>替换为<FONT face="Times New Roman"> in </FONT>即可。</P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P >可用如下方法生成一个可以一次导出一个数据库中所有表的数据的执行脚本。</P>
<P >编辑一个如下文本文件<FONT face="Times New Roman"> </FONT>文件名称例为<FONT face="Times New Roman"> bcpscript</FONT>:</P>
<P ><B ><FONT face="Times New Roman">use dbname   </FONT></B><B >选中将要导出数据的数据库<o:p></o:p></B></P>
<P ><B ><FONT face="Times New Roman">go<o:p></o:p></FONT></B></P>
<P ><B ><FONT face="Times New Roman">select 'bcp dbname..' + name + ' out c:\temp\' + name + '-Usa -P -Ssybcdsrv -c' from sysobjects where type = 'U'   </FONT></B><B >在<FONT face="Times New Roman">sysobjects</FONT></B><B >系统表中<FONT face="Times New Roman">type</FONT></B><B >为<FONT face="Times New Roman">U</FONT></B><B >的表为用户表,系统表为<FONT face="Times New Roman">S</FONT></B><B >。<o:p></o:p></B></P>
<P ><B ><FONT face="Times New Roman">go<o:p></o:p></FONT></B></P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P >用如下格式执行:</P>
<P ><FONT face="Times New Roman"><B >isql –</B><st1:country-region><st1:place><B >Usa</B></st1:place></st1:country-region><B > –Ppassword –Sservername –i bcpscript –o bcpout.bat<o:p></o:p></B></FONT></P>
<P ><FONT face="Times New Roman">i</FONT>参数后为输入文件,<FONT face="Times New Roman">o</FONT>参数后文件为输入文件执行后得到的输出文件。</P>
<P >执行后可以得到一个后缀名为<FONT face="Times New Roman"> BAT </FONT>的批处理文件(在<FONT face="Times New Roman">unix</FONT>下则生成一个<FONT face="Times New Roman">shell</FONT>文件并更改相应的执行权限),可直接执行。即在指定的目录下导出了相应的数据文件。一个表的数据为一个文件。如在<FONT face="Times New Roman">UNIX</FONT>下则可不用<FONT face="Times New Roman">BAT</FONT>后缀。</P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P >备份得到的数据文件如果需要重新往数据库中恢复,只需要将上面操作步骤中<FONT face="Times New Roman">BCP</FONT>命令中的<FONT face="Times New Roman">out </FONT>参数换为<FONT face="Times New Roman">in</FONT>参数即可。</P>
<P ><B >注意:在对正式数据做操作前最好先作一些测试。<o:p></o:p></B></P>
<P ><B >另外,如果牵涉到使用<FONT face="Times New Roman">bcp</FONT></B><B >进行字符集的更改,可以采用<FONT face="Times New Roman"> –J charset </FONT></B><B >参数进行<o:p></o:p></B></P>
<P >关于<FONT face="Times New Roman">BCP</FONT>等工具的具体使用指南,请参见<FONT face="Times New Roman">SYBASE</FONT>相关文档。</P>
<P ><o:p><FONT face="Times New Roman"> </FONT></o:p></P>
<P ><B >针对系统移植所需做的工作<FONT face="Times New Roman">,</FONT></B><B >应该有如下几个步骤<FONT face="Times New Roman">:<o:p></o:p></FONT></B></P>
<P ><FONT face="Times New Roman">1.    </FONT>安装新环境的硬件环境<FONT face="Times New Roman">,</FONT>包括网络<FONT face="Times New Roman">,</FONT>硬盘状况<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">2.    </FONT>安装新环境的操作系统<FONT face="Times New Roman">,</FONT>包括<FONT face="Times New Roman">Service Pack;</FONT></P>
<P ><FONT face="Times New Roman">3.    </FONT>安装相同版本的<FONT face="Times New Roman">SYBASE</FONT>数据库产品<FONT face="Times New Roman">,</FONT>包括补丁<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">4.    </FONT>添加数据库用户<FONT face="Times New Roman">,</FONT>设备等相关信息<FONT face="Times New Roman">,</FONT>应与老系统中一致</P>
<P ><FONT face="Times New Roman">5.    </FONT>创建新系统数据库<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">6.    </FONT>利用你所拥有的表脚本或者通过<FONT face="Times New Roman">SYBASE CENTRAL</FONT>中的生成<FONT face="Times New Roman">DDL</FONT>功能<FONT face="Times New Roman">,</FONT>将老系统中的建表脚本导出<FONT face="Times New Roman">,</FONT>生成数据库中的表<FONT face="Times New Roman">.</FONT>最好将建表脚本与建立表上约束<FONT face="Times New Roman">(</FONT>主键<FONT face="Times New Roman">,</FONT>外键等<FONT face="Times New Roman">)</FONT>的脚本分开<FONT face="Times New Roman">,</FONT>先在表上不建约束<FONT face="Times New Roman">,</FONT>在数据导入后<FONT face="Times New Roman">,</FONT>再加上<FONT face="Times New Roman">.;</FONT></P>
<P ><FONT face="Times New Roman">7.    BCP OUT </FONT>老系统中数据<FONT face="Times New Roman">,</FONT>根据上面提到的方法<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">8.    </FONT>运行建立其他对象的脚本<FONT face="Times New Roman">,</FONT>包括索引<FONT face="Times New Roman">,</FONT>主键<FONT face="Times New Roman">,</FONT>外键及存储过程<FONT face="Times New Roman">,</FONT>触发器<FONT face="Times New Roman">,</FONT>缺省等<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">9.    </FONT>在新系统中对需要更改的表结构做更改<FONT face="Times New Roman">,</FONT>或者添加新表<FONT face="Times New Roman">;</FONT></P>
<P ><FONT face="Times New Roman">10. </FONT>测试应用系统是否工作正常<FONT face="Times New Roman">.</FONT></P>

阿辉 发表于 2005-10-28 13:24:01

支持!!!

ehxz 发表于 2005-10-28 14:43:57

偶也支持~~好就加精啊

bluery 发表于 2005-10-29 08:43:24

谢谢

xxgsymj 发表于 2005-11-2 11:43:46

嘿嘿 巴适,,有空再一个一个逮来整

93815200 发表于 2005-11-2 17:52:43

好,顶

lixushen 发表于 2005-11-5 21:34:21

一会我试试

codo 发表于 2005-11-11 12:28:23

不错。

zhhs168 发表于 2006-11-8 10:36:20

<p>很好,谢谢</p>

reamer_s 发表于 2008-2-26 10:52:17

<p>谢谢楼主</p>
<p>&nbsp;</p>

lanxing2 发表于 2008-3-24 18:12:56

hao&nbsp; 资料啊!!怎么会是白弄`
页: [1]
查看完整版本: BCP说明

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com