欢迎来到天天文库
浏览记录
ID:34783834
大小:78.68 KB
页数:4页
时间:2019-03-10
《用bcp工具导入和导出批量数据》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、用bcp工具导入和导出批量数据 微软SQLServer中的批量复制工具程序(BulkCopyProgram,BCP)能让数据库管理员将数据批量导入表中或将数据从表中批量导入文档中。它还支持一些定义数据如何导出、导入到什么地方、加载哪些数据等选项。 本技巧讨论一些用bcp命令批量复制数据迁入或迁出SQLServer表的示例。这些示例在SQLServer2005和SQLServer2008上已经测试过。并且我还用了AdventureWorks样本数据库。 用bcp工具导入数据 一个最简单的操
2、作就是你可以用bcp工具将数据从SQLServer表bulk-copy到文本文件。在Windows命令提示符中插入命令,你就可以运行bcp命令了。例如以下命令,从AdventureWorks数据库里的Sales.vSalesPerson视图复制数据到C:DataSalesPerson.txt文件:bcp AdventureWorks.Sales.vSalesPerson out C:DataSalesPerson.txt -c –T 如同你看到的一样,bcp命令以工具名称开头,后面为完
3、全合格表名database.schema.table。接下来就是out关键字,关键字告诉bcp工具数据将会从该表中导出。目标文本文件的路径和文件名称紧跟out关键字之后。注意本文中列出的命令例子可能包括很多行,但是所有的例子应该像一个单独的命令一样运行。 除了这些基本参数,bcp工具还支持控制工具行为的switch。在以上例子中,无论数据是以何种方式存储在源表中的,-cswitch表示所有的数据都应是字符数据。如果你没有指定-c开关或其他相关类型的switch,你就需要在进入bcp命令后指定每
4、个列的switch类型。 上述例子中另一个switch就是-T,它主要是告诉bcp工具使用可靠连接来关联SQLServer示例。如果你没有指定-T,你就必须提供用户名(-Uswitch)和密码(-Pswitch),或者你需要提供相关信息。 因为在先前列举的例子中没有指定实例,bcp工具就在本地机上使用的默认实例。要指定一个SQLServer实例,就要用到-Sswitch,后面紧跟的是服务器名称,如下所示:bcp AdventureWorks.Sales.vSalesPerson out C:
5、DataSalesPerson.txt -c -T -S Server01 Bcp工具现在和Server01上的默认实例连接。如果你想连接到具体实例而不是默认的实例,你就必须指定实例名称和服务器名称,如Server01SqlSrv。 通过默认,bcp工具使用制表符分隔目标文件中里的域。但你也可以用-tswitch调过这一操作,如下: bcp AdventureWorks.Sales.vSalesPerson out C:DataSalesPerson.csv -c -T -t,
6、在这种情况下,-tswitch后有一个逗号,意思就是说数据域现在由逗号分开。这样做可让你讲数据保存到.csv文件,便于你在MicrosoftExcel文件中查看这些数据。 以上一些例子只限于将数据从表中导出。但是你还可以用bcp命令运行Transact-SQL查询、到出查询条件。例如以下bcp命令,包括只从vSalesPerson视图中检索SalesPersonID、FirstName和LastName的SELECT语句:bcp "SELECT SalesPersonID, FirstName
7、, LastName FROM AdventureWorks.Sales.vSalesPerson"queryout C:DataSalesPerson.csv -c -T -t, 这种情况下引号里的查询通过的是bcp命令而不是表名称。此外,queryout取代了out关键字。但是命令其他部分和先前的例子相同。结果,SalesPerson.csv文件现在只包含三个指定列。你还可以让查询更加精炼:例如你可以包括限定只从源表中返回那些行的WHERE子句。正在加载数据... Bcp工具使得导入
8、数据和导出一样简单。要在这部分里运行这个示例,首先就要执行下面的T-SQL脚本,在AdventureWorks数据库里创建SalesPeople表:USE AdventureWorksGOIF OBJECT_ID (N'SalesPeople', N'U') IS NOT NULLDROP TABLE dbo.SalesPeopleGOCREATE TABLE dbo.SalesPeople (SalesPersonID INT IDENTITY PRIMARY KEY,FirstName NV
此文档下载收益归作者所有