Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Analítica (PDW)
Base de datos SQL en Microsoft Fabric
Este artículo describe los atributos de formato de datos, las indicaciones específicas de cada campo y cómo almacenar datos campo por campo en un archivo de formato no XML de la bcp utilidad. Esta información puede ayudar cuando exportas en masa datos de SQL Server para importación masiva a otro programa, como otro programa de base de datos. Los formatos de datos predeterminados (nativo, de carácter o Unicode) en la tabla fuente pueden ser incompatibles con la disposición de datos que espera el otro programa. Si existe una incompatibilidad, debes describir la disposición de los datos al exportar los datos.
Nota:
Para más información sobre formatos de datos para importar o exportar datos, consulte Formatos de datos para importación masiva o exportación masiva.
Atributos de formato de datos BCP
Se utiliza bcp para especificar la estructura de cada campo en un archivo de datos mediante los siguientes atributos de formato de datos:
tipo de almacenamiento en archivo
El tipo de almacenamiento en archivo describe cómo se almacenan los datos en el archivo de datos. Puedes exportar datos a un archivo de datos como su tipo de tabla de base de datos (formato nativo), en su representación de caracteres (formato de caracteres), o como cualquier tipo de dato que soporte conversión implícita. Por ejemplo, puedes copiar un smallint como int. Los tipos de datos definidos por el usuario se exportan como sus tipos base. Para más información, consulte Especificar tipo de almacenamiento de archivo usando bcp.
Longitud del prefijo
Para proporcionar el almacenamiento de archivo más compacto posible para la exportación masiva de datos en formato nativo a un archivo de datos,
bcpprecede a cada campo uno o más caracteres que indican la longitud del campo. Estos caracteres se denominan caracteres de prefijo de longitud. Para más información, consulte Especificar longitud de prefijo en archivos de datos usando bcp.Longitud de campo
La longitud de campo indica el número máximo de caracteres necesarios para representar los datos en formato de carácter. La longitud de campo ya se conoce si los datos se almacenan en el formato nativo. Para más información, consulte Especificar longitud de campo usando bcp.
Terminador de campo
Para los campos de datos de caracteres, los caracteres de terminación opcionales permiten marcar el final de cada campo en un archivo de datos (usando un terminador de campo) y el final de cada fila (usando un terminador de fila). Los caracteres de terminación son un modo de indicar a los programas que leen el archivo de datos dónde termina un campo o una fila y dónde comienza otro. Para obtener más información, vea Especificar terminadores de campo y fila.
Resumen de los temas específicos de cada campo
Si ejecutas bcp de forma interactiva con la opción in o out, pero no incluyes ni el modificador de archivo de formato (-f) ni un modificador de formato de datos (-n, -c, -w o -N) para cada columna de la tabla de origen o de destino, bcp solicita cada uno de los atributos anteriores, uno tras otro. En cada prompt, bcp proporciona un valor predeterminado basado en el tipo de dato de SQL Server de la columna de la tabla. Aceptar el valor predeterminado de todos los prompts produce el mismo resultado que especificar el formato nativo (-n) en la línea de comandos. Cada mensaje muestra un valor predeterminado entre corchetes: [default]. Pulsa ENTER para aceptar el valor predeterminado que se muestra. Para especificar un valor distinto del predeterminado, escriba el nuevo valor cuando se le solicite.
Ejemplo
El siguiente ejemplo se utiliza bcp para exportar en masa datos de la HumanResources.myTeam tabla de forma interactiva al myTeam.txt archivo. Antes de que pueda ejecutar el ejemplo, debe crear esta tabla. Para información sobre la tabla y cómo crearla, consulta la tabla de ejemplo HumanResources.myTeam.
El comando no especifica ni un archivo de formato ni un tipo de dato, por lo que bcp solicita información sobre el formato de datos. En el símbolo del sistema de Windows, escriba:
bcp AdventureWorks.HumanResources.myTeam out myTeam.txt -T
Para cada columna, bcp solicita valores específicos para cada campo. El siguiente ejemplo muestra las peticiones específicas de los campos de las columnas EmployeeID y Name de la tabla y sugiere el tipo de almacenamiento de archivo predeterminado (el formato nativo) para cada columna. Las longitudes de prefijo de las EmployeeID columnas y Name son 0 y 2, respectivamente. El usuario especifica una coma (,) como terminador de cada campo.
Enter the file storage type of field EmployeeID [smallint]:
Enter prefix-length of field EmployeeID [0]:
Enter field terminator [none]:,
Enter the file storage type of field Name [nvarchar]:
Enter prefix length of field Name [2]:
Enter field terminator [none]:,
.
.
.
Se muestran indicaciones equivalentes según sea necesario para cada una de las columnas de la tabla, en orden.
Almacenar datos campo por campo en un archivo con formato no XML
Después de especificar todas las columnas de la tabla, bcp te pide que generes opcionalmente un archivo no XML que almacene la información campo por campo que acabas de proporcionar (ver el ejemplo anterior). Si decides generar un archivo de formato, puedes usarlo siempre que exportes datos de esa tabla o importes datos estructurados similares a SQL Server.
Nota:
Puede utilizar el archivo de formato para importar datos de manera masiva desde el archivo de datos en una instancia de SQL Server o para exportar datos de manera masiva desde la tabla sin la necesidad de volver a especificar el formato. Para más información, consulte Formatear archivos para importar o exportar datos.
En el siguiente ejemplo se crea un archivo de formato no XML llamado myFormatFile.fmt:
Do you want to save this format information in a file? [Y/n] y
Host filename: [bcp.fmt]myFormatFile.fmt
El nombre por defecto del archivo de formato es bcp.fmt, pero puedes especificar un nombre de archivo diferente si lo deseas.
Nota:
Para un archivo de datos que utiliza un único formato de datos para su tipo de almacenamiento, como carácter o formato nativo, puedes crear rápidamente un archivo de formato sin exportar ni importar datos usando esta format opción. Este enfoque es sencillo y te permite crear un archivo de formato XML o uno que no sea de formato XML. Para más información, consulte Crear un archivo de formato con bcp.
Tareas relacionadas
- Especificar el tipo de almacenamiento de archivo usando bcp
- Especificar la longitud de prefijo en los archivos de datos usando bcp
- Especifica la longitud del campo usando bcp
- Especificar terminadores de campo y fila