用bcp工具导入数据 Bcp工具使得导入数据和导出一样简单。要在这部分里运行这个示例,首先就要执行下面的T-SQL脚本,在AdventureWorks数据库里创建SalesPeople表: USE AdventureWorks GO IF OBJECT_ID (N’SalesPeople’, N’U’) IS NOT NULL DROP TABLE dbo.SalesPeople GO CREATE TABLE dbo.SalesPe……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
用bcp工具导入数据
Bcp工具使得导入数据和导出一样简单。要在这部分里运行这个示例,首先就要执行下面的T-SQL脚本,在AdventureWorks数据库里创建SalesPeople表:
USE AdventureWorks GO IF OBJECT_ID (N'SalesPeople', N'U') IS NOT NULL DROP TABLE dbo.SalesPeople GO CREATE TABLE dbo.SalesPeople ( SalesPersonID INT IDENTITY PRIMARY KEY, FirstName NVARCHAR(50) NOT NULL, LastName NVARCHAR(50) NOT NULL ) |
要导出数据,你需要一个源文件从中复制数据。例如下面的命令就用了最近创建的SalesPerson.csv文件加载数据到SalesPeople表:
bcp AdventureWorks.dbo.SalesPeople in C:DataSalesPerson.csv -c -T -t, |
首先,你必须指定目标表,这种情况下紧跟其后的为代替out或queryout的in关键字。其次,你必须指定源文件的路径和文件名称,后跟任意可用的switch。
在运行这一命令并查看结果时,要注意源文件如果包括售货员的ID,这些值就不能插入到SalesPersonID列。该列定义为IDENTITY列,这样我们就可以忽视源数据。要保留原始值,你就必须在命令里增加-E switch,如下面的例子中所示:
bcp AdventureWorks.dbo.SalesPeople in C:DataSalesPerson.csv -c -T -t, -E |
现在表中就包含了你想要得到的数据。
使用格式文件
在导入或导出数据时,你会发现源数据架构和目标数据架构不匹配。例如,文本文件中的这些列可能和目标表中的列的顺序不一致,或者说这些列的多少还不一样。你可以通过创建格式文件映射源文件和目标架构解决这个问题。我们通过以下示例看看它是如何工作的:
假如你使用了以下命令从 vSalesPerson视图中导出数据到SalesPeople.txt文件:
bcp "SELECT LastName, FirstName, SalesPersonID FROM AdventureWorks.Sales.vSalesPerson" queryout C:DataSalesPeople.txt -c -T -t, |
该命令使用了先前例子中同样的参数。但是注意这些列从视图中检索的顺序:LastName、FirstName、最后是SalesPersonID。
现在假设你打算使用该文件导入数据到SalesPeople表。SalesPeople表中列的顺序和文本文件中列顺序不同。要解决这个问题,你可以创建一个格式文件将这些列从源文件映射到目的文件。以下命令说明如何创建一个格式文件:
bcp AdventureWorks.dbo.SalesPeople format nul -f C:DataSalesPeople.fmt -c -T -t, |
翻译
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。