数据库技巧

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 数据库子站 > 数据库技巧

在SQL Server中使用BCP

作者:阿林出处:IT专家网2008-04-01 10:47

  【IT专家网独家】批量复制程序(BCP)是Microsoft SQL Server中的一个命令行实用程序。使用BCP,我们可以导入并可从SQL Server数据库中快速而轻松地导出数据。任何使用这个功能的数据库管理员都承认BCP是一个关键工具。

  BCP基础

  我们可从命令提示符访问BCP程序。下面是其简单语法:

  bcp {dbtable | query} {in | out | queryout | format} datafile

  [-n native type] [-c character type] [-S server name] [-U username]

  [-P password] [-T trusted connection]

  笔者将使用一个完整的表名(数据库名、表或对象的所有者、表或对象名称)。例如,如果要导出作为pubs数据库的dbo 组中一部分的authors,就可以使用pubs.dbo.authors。下一步,可以使用in或out来设置你是否要BCP将数据复制到数据库中,或从一个数据库中复制出来。然后你就可以设置数据库服务器上数据文件的位置。

  这样一来,我们的BCP语句看起来就是这个样子:

  bcp pubs.dbo.authors out c: empauthors.bcp

  在使用BCP时,不要忘了这些开关是大小写敏感的。如果你不使用恰当的大小写,BCP语句将失败。

  下一步,我们要增加基本的命令选项。-n开关指定了本地的SQL Server格式。在将Char作为一种数据类型对文件格式化时,就要使用-C开关。如果我们使用这个开关,就可以用Excel轻易地打开文件。-S开关可以使我们增加服务器/实例名称。-U开关允许我们增加用于连接到SQL Server的登录名。-P开关允许我们添加-U开关的口令,而-T开关用于创建一个连接到SQL Server的可信任连接。

  如果我们要将数据导入到authors表中,这时BCP命令看起来将是如下的样子:

  bcp pubs.dbo.authors in c: empauthors.bcp -c -Sstevenw -Usa –P

  在此我们仅列示了BCP实用程序的几个开关,其实,根据实际需要,还可以选择许多其它的开关。

  有这么多特性可用,笔者推荐用户多熟悉这些开关,以更清楚地知道其用途。例如,-e开关就非常方便,因为它可以创建一个出错文件。如果BCP命令返回错误消息,就可以查看之。如下例如示::

  bcp pubs.dbo.authors out c: empsteventest.txt -n -Sstevenw -Usa -P

  -eC: emperror.txt

  BCP和数据库对象

  让我们创建一个称为pubs2的新数据库,然后用BCP将pubs数据库的所有数据都迁移过去。首先,创建数据库。然后,我们将生成SQL脚本,使其运行于pubs2上,并将数据从pubs导出到pubs2中。

相关文章

关键词: 技巧

责任编辑:李书琴

专题推荐

原创文章

微博互动

白皮书

网警备案