发布网友 发布时间:2022-05-23 07:39
共1个回答
热心网友 时间:2023-10-16 23:28
将表行复制到数据文件(使用可信连接)
下面的示例阐释了 AdventureWorks.Sales.Currency 表中的 out 选项。此示例创建一个名为 Currency.dat 的数据文件,并使用字符格式将表数据复制到该文件中。此示例假定您使用 Windows身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任连接。
在命令提示符处输入以下命令:
bcp AdventureWorks.Sales.Currency out Currency.dat -T -c
将表行复制到数据文件(使用混合模式身份验证)
下面的示例阐释了 AdventureWorks.Sales.Currency 表中的 out 选项。此示例创建一个名为 Currency.dat 的数据文件,并使用字符格式将表数据复制到该文件中。
以上示例假定您使用的是混合模式身份验证,您必须使用 -U 开关来指定登录 ID。此外,除非您连接的是本地计算中 SQL Server 上的默认实例,否则要使用 -S 开关来指定系统名称和实例名称(实例名称可选)。
bcp AdventureWorks.Sales.Currency out Currency.dat -c -U<login_id> -S<server_name\instance_name>
系统将提示您输入密码。
将数据从文件复制到表。
以下示例使用上例创建的文件 (Currency.dat) 来阐释 in 选项。但是,此示例将首先创建一个 AdventureWorks Sales.Currency 表的空副本 Sales.Currency2,数据将被复制到该副本。此示例假定您使用 Windows身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任连接。
若要创建空表,可在查询编辑器中输入以下命令:
USE AdventureWorks;
GO
SELECT * INTO AdventureWorks.Sales.Currency2
FROM AdventureWorks.Sales.Currency WHERE 1=2
若要将字符数据大容量复制到新表(即导入数据),可在命令提示符处输入以下命令:
bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -c
若要查看命令是否成功,并在查询编辑器中显示表的内容,请输入:
USE AdventureWorks;
GO
SELECT * FROM Sales.Currency2
将特定的列复制到数据文件中
若要复制特定列,可以使用 queryout 选项。以下示例仅将 Sales.Currency 表中的 Name 列复制到数据文件中。此示例假定您使用 Windows身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任的连接。
在 Windows命令提示符下,输入以下内容:
bcp SELECT Name FROM AdventureWorks.Sales.Currency queryout Currency.Name.dat -T -c
将特定的行复制到数据文件中
若要复制特定行,可以使用 queryout 选项。以下示例仅将名为 Jarrod Rana 的联系人行从 AdventureWorks.Person.Contact 表复制到数据文件 (Jarrod Rana.dat) 中。该示例假定您使用的是 Windows 身份验证,并且与运行 bcp 命令的服务器上的实例有可信连接。
在 Windows 命令提示符下,输入以下内容:
bcp SELECT * FROM AdventureWorks.Person.Contact WHERE FirstName='Jarrod' AND LastName='Rana' queryout Jarrod Rana.dat -T -c
将数据从查询复制到数据文件
若要将 Transact-SQL 语句的结果集复制到数据文件,可使用 queryout 选项。以下示例将 AdventureWorks.Person.Contact 表中的姓名复制到 Contacts.txt 数据文件中;这些姓名先按名排序,再按姓排序。此示例假定您使用 Windows 身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任的连接。
在 Windows 命令提示符下,输入以下内容:
bcp SELECT FirstName, LastName FROM AdventureWorks.Person.Contact ORDER BY LastName, Firstname queryout Contacts.txt -c -T
创建非 XML 格式文件
AdventureWorks 数据库中的 Sales.Currency 表的非 XML 格式文件 Currency.fmt。此示例假定您使用 Windows 身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任的连接。
在 Windows 命令提示符下,输入以下内容:
bcp AdventureWorks.Sales.Currency format nul -T -c -f Currency.fmt
有关详细信息,请参阅了解非 XML 格式化文件。
创建 XML 格式文件
以下示例为 AdventureWorks 数据库中的 Sales.Currency 表创建一个名为 Currency.xml 的 XML 格式文件。此示例假定您使用 Windows 身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任的连接。
在 Windows 命令提示符下,输入以下内容:
bcp AdventureWorks.Sales.Currency format nul -T -c -x -f Currency.xml
有关详细信息,请参阅了解 XML 格式化文件。
使用格式文件进行 bcp 大容量导入
向 SQL Server 的实例导入数据时,若要使用以前创建的格式文件,可同时使用 -f 开关和 in 选项。例如,以下命令通过使用先前创建的格式文件(Currency.xml),将数据文件 Currency.dat 的内容大容量复制到 Sales.Currency 表 (Sales.Currency2) 的副本中。此示例假定您使用 Windows 身份验证,并且与运行 bcp 命令所针对的服务器实例之间具有受信任的连接。
在 Windows 命令提示符下,输入以下内容:
bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -f Currency.xml
如果数据文件字段和表中的列不同(例如,在编号、排序或数据类型方面),则可使用格式文件。