用bcp工具导入和导出批量数据(下)

日期: 2009-05-10 作者:Robert Sheldon翻译:April 来源:TechTarget中国 英文

先前的例子表明,命令首先指定了目标表。而这一次表明后面为关键字format nul,表示bcp工具应该创建格式文件。-f参数用于指定格式文件的路径和文件名称,其后为switch。最后在你运行该命令时,就生成了包括SalesPeople表架构的格式文本。

下面的数据显示上述命令生成的SalesPeople.fmt格式文本内容: 10.0         3         1  SQLCHAR  &……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

先前的例子表明,命令首先指定了目标表。而这一次表明后面为关键字format nul,表示bcp工具应该创建格式文件。-f参数用于指定格式文件的路径和文件名称,其后为switch。最后在你运行该命令时,就生成了包括SalesPeople表架构的格式文本。

下面的数据显示上述命令生成的SalesPeople.fmt格式文本内容:

10.0        
3        
1  SQLCHAR   0   12   ","   1   SalesPersonID  "" 
2  SQLCHAR  0  100   ","  2  FirstName  SQL_Latin1_General_CP1_CI_AS
3  SQLCHAR  0  100  "rn"   3  LastName  SQL_Latin1_General_CP1_CI_AS

文件(10.0)第一行确定了目前使用的bcp版本。第二行(3) 确定了表中的列数,接下来的三行为列的相关信息:

 * 第一个域为列在源文件中出现的顺序。

 * 第二个域显示每个列的源文件数据类型。因为在生成文件时指定了–c switch,在从数据文件中提取时,所有的域都用字符型数据类型。插入数据时,SQL Server会将数据转换到正确的类型。

*第三个域表示域的前缀长度,SQL Server通常会用它来提供最紧凑的文件存储。在创建格式文件时如果你指定-c switch,那么就会自动用到0。

* 第四个域代表特殊域数据类型字节长度。

* 第五个域表明如何终止行和列。由于在创建格式文件时用了-t switch,源文件的域值就必须通过逗号终止。

* 第六个域映射这些列在SQL Server表中的排列顺序。

*第七个和最后一个域提供了SQL Server表中字符列的整理信息。

要用格式文件将数据导入SalesPeople表中,我们必须如下修改文件:


10.0        
3        
1   SQLCHAR   0   100   ","   3   LastName   SQL_Latin1_General_CP1_CI_AS 
2  SQLCHAR  0  100  ","  2  FirstName  SQL_Latin1_General_CP1_CI_AS
3  SQLCHAR  0  12  "rn"   1  SalesPersonID   ""

你可以看到,列的顺序已经进行了修改,这一顺序就是它们在格式文件中的排列顺序。SalesPersonID列现在排在最后,并且以rn结尾。LastName列现在排在开头并且以逗号结尾。

修改、保存格式文件后,准备在bcp命令中用了。下面的例子说明如何调用格式文件:

bcp AdventureWorks.dbo.SalesPeople in C:DataSalesPeople.txt -f C:DataSalesPeople.fmt –T

注意,你从SalesPeople.txt文件中导入数据时,还必须用到-f switch调用格式文件。还要注意到你现在已经不需要包括-t 和-c switch,因为现在在格式文件中已经包括了这些信息。

无论你用的是格式文件还是只运行基本命令,你现在都应该更好地了解到了如何使用bcp工具。记住bcp工具支持的switch比我所列举的要多得多。你可以在《SQL Server联机从书》上了解更多有关bcp工具的信息。同时,本技巧还提供了有关启用bcp工具、轻松将数据导入到SQL Server表以及导出数据到文本文件的比较充足的信息。

翻译

April
April

相关推荐