Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
En este artículo se describe cómo utilizar la utilidad bcp para crear un archivo de formato para una tabla determinada. El archivo de formato se basa en la opción de tipo de datos especificada (-n
, -c
, -w
o -N
) y en los delimitadores de la vista o de la tabla.
Al realizar una importación en masa en una tabla de SQL Server o exportar en masa datos de una tabla, puede usar un archivo de formato como un sistema flexible para escribir archivos de datos. Los archivos de formato requieren poca o ninguna modificación para adaptarlos a otros formatos de datos o para leer archivos de datos de otros programas.
La versión de la utilidad bcp (bcp.exe
) que se emplee para leer un archivo de formato debe ser la misma versión, o una versión posterior, a la que se use para crear el archivo de formato. Por ejemplo, bcp de SQL Server 2016 (13.x) puede leer un archivo de formato de la versión 12.0 generado por bcp de SQL Server 2014 (12.x), pero bcp de SQL Server 2014 (12.x) no puede leer un archivo de formato de la versión 13.0 generado por bcp de SQL Server 2016 (13.x).
Nota
Esta sintaxis, incluida la inserción masiva, no se admite en Azure Synapse Analytics. En Azure Synapse Analytics y otras integraciones de plataforma de base de datos en la nube, lleve a cabo el movimiento de datos con la instrucción COPY en Azure Data Factory o usando instrucciones T-SQL, como COPY INTO y PolyBase.
SQL Server admite dos tipos de archivos de formato: XML y no XML. El formato no XML es el formato original compatible con versiones anteriores de SQL Server.
Por lo general, los archivos de formato XML y no XML son intercambiables. Sin embargo, es recomendable utilizar la sintaxis XML para los archivos de formato porque proporciona varias ventajas con relación a los archivos de formato no XML.
Los ejemplos de código de Transact-SQL de este artículo utilizan la base de datos de ejemplo AdventureWorks2022
o AdventureWorksDW2022
, que se puede descargar desde la página principal de Ejemplos y proyectos de la comunidad de Microsoft SQL Server. Adventure Works Cycles es una compañía ficticia que se utiliza para mostrar situaciones y conceptos de bases de datos.
Si quiere usar un comando bcp para crear un archivo de formato, especifique el argumento format
y use nul
en lugar de una ruta de acceso de archivo de datos. La opción format
siempre requiere la opción -f
y, para crear un archivo de formato XML, también debe especificar la opción -x
, por ejemplo: bcp <table_or_view> format nul -f <format_file_name> -x
.
Para distinguir un archivo de formato XML, se recomienda utilizar .xml
como extensión del nombre de archivo; por ejemplo: MyTable.xml
.
Para obtener más información sobre la estructura y los campos de los archivos de formato XML, vea Archivos de formato XML (SQL Server).
Esta sección contiene ejemplos que muestran cómo se usan los comandos de bcp para crear un archivo de formato XML. La tabla HumanResources.Department
tiene cuatro columnas: DepartmentID
, Name
, GroupName
y ModifiedDate
.
En el ejemplo siguiente se crea un archivo de formato XML, Department.xml
, para la tabla HumanResources.Department
. El archivo de formato usa formatos de datos de caracteres y un terminador de campo no predeterminado (,
). El contenido del archivo de formato generado se presenta después del comando.
El comando bcp contiene los calificadores siguientes.
Calificadores | Descripción |
---|---|
format nul -x -f <format_file> |
Especifica el archivo de formato XML. |
-c |
Especifica los datos de caracteres. |
-t, |
Especifica una coma (, ) como terminador de campo.Nota: Si el archivo de datos usa el terminador de campo predeterminado ( \t ), no es necesario el modificador -t . |
-T |
Especifica que la utilidad bcp se conecta a SQL Server con una conexión de confianza utilizando la seguridad integrada. Si no se especifica -T , es necesario especificar -U y -P para iniciar sesión correctamente. |
En el símbolo del sistema de Windows, escriba el siguiente comando bcp
:
bcp AdventureWorks2022.HumanResources.Department format nul -c -x -f Department-c.xml -t, -T
El archivo de formato generado, Department-c.xml
, contiene los elementos XML siguientes:
<?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>
Para obtener más información sobre la sintaxis de este archivo de formato, vea Archivos de formato XML (SQL Server). Para obtener más información sobre los datos de caracteres, vea Usar el formato de caracteres para importar o exportar datos (SQL Server).
En el ejemplo siguiente se crea un archivo de formato XML, Department-n.xml
, para la tabla HumanResources.Department
. El archivo de formato utiliza tipos de datos nativos. El contenido del archivo de formato generado se presenta después del comando.
El comando bcp contiene los calificadores siguientes.
Calificadores | Descripción |
---|---|
format nul -x -f <format_file> |
Especifica el archivo de formato XML. |
-n |
Especifica tipos de datos nativos. |
-T |
Especifica que la utilidad bcp se conecta a SQL Server con una conexión de confianza utilizando la seguridad integrada. Si no se especifica -T , es necesario especificar -U y -P para iniciar sesión correctamente. |
En el símbolo del sistema de Windows, escriba el siguiente comando bcp
:
bcp AdventureWorks2022.HumanResources.Department format nul -x -f Department-n.xml -n -T
El archivo de formato generado, Department-n.xml
, contiene los elementos XML siguientes:
<?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="NativeFixed" LENGTH="2"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>
</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>
Para obtener más información sobre la sintaxis de este archivo de formato, vea Archivos de formato XML (SQL Server). Para obtener más información sobre cómo usar datos nativos, vea Usar el formato nativo para importar o exportar datos (SQL Server).
Al igual que cuando se crea mediante bcp, un archivo de formato describe todas las columnas de tabla en orden. Puede modificar un archivo de formato para reorganizar u omitir filas de la tabla. Puede personalizar un archivo de formato en un archivo de datos cuyos campos no se asignan directamente a las columnas de la tabla. Vea los siguientes artículos para más información:
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Trabajar con tablas en Dynamics 365 Business Central - Training
¿Desea saber cómo crear nuevas tablas en Business Central? En caso afirmativo, en este módulo encontrará lo que estaba buscando. Este módulo se centra en los distintos tipos de tablas de Business Central y le mostrará cómo crear nuevas tablas. Además, aprenderá a usar fragmentos de Visual Studio Code para crear una tabla, campos y claves.
Documentación
Asignación de columnas de tabla a campos de archivo de datos con un archivo de formato - SQL Server
En SQL Server, los archivos de formato XML y no XML pueden alojar un archivo de datos cuyos campos están organizados en un orden diferente al de las columnas de la tabla.
Usar un archivo de formato para omitir una columna de tabla (SQL Server) - SQL Server
En este artículo se describe cómo usar un archivo de formato para omitir la importación de una columna de tabla cuando los datos de la columna omitida no existen en el archivo de datos de origen.
Uso de un archivo de formato para la importación en bloque de datos - SQL Server
En SQL Server, puede usar un archivo de formato en operaciones de importación en bloque. Un archivo de formato asigna los campos del archivo de datos a las columnas de la tabla.