Création du file de format SQL Server à utiliser avec l'insertion en bloc

Je veux insert en bloc un gros tas de données dans SQL Server, et ainsi, j'ai besoin d'un file de format (je n'insère pas de valeur dans toutes les colonnes).

Mais en utilisant ce lien et le bcp AdventureWorks2012.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T format, j'obtiens une erreur, en pointant sur le -t, bit, en disant ParentContainsErrorException dire là manquent des arguments.

Quel est le problème avec ce qui précède?

Vous devez spécifier votre path d'access à l'endroit où vous voulez votre file XML.

Cela fonctionne ici pour moi:

 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 

Étant donné le résultat:

 <?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>