创建用于批量插入的SQL Server格式文件

时间:2017-12-15 08:04:11

标签: sql-server bcp

我想将大量数据批量插入SQL Server,因此,我需要一个格式文件(我没有在所有列中插入值)。

但是使用This linkbcp AdventureWorks2012.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T格式,我收到一个错误,指向-t,位,说ParentContainsErrorException表示缺少参数。

以上是什么问题?

1 个答案:

答案 0 :(得分:1)

您需要指定您希望xml文件所在的路径。

这对我有用:

DECLARE @str VARCHAR(1000)
SET @str = 'bcp AdventureWorks2014.HumanResources.Department format nul -c -x -f D:\Stack\Department-c.xml -t, -T'  
EXEC xp_cmdshell @str
GO

鉴于结果:

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>
 </ROW>
</BCPFORMAT>