Importar datos con formato nativo y de caracteres de versiones anteriores de SQL Server
En SQL Server 2012 puede utilizar bcp para importar datos con formato nativo y de caracteres de SQL Server 2000, SQL Server 2005 o SQL Server 2008, utilizando el modificador -V. El modificador -V hace que SQL Server 2012 utilice los tipos de datos de la versión anterior especificada de SQL Server, y el formato del archivo de datos es el mismo que el de esa versión anterior.
Para especificar una versión anterior de SQL Server para un archivo de datos, utilice el modificador -V con uno de los siguientes calificadores:
Versión de SQL Server |
Calificador |
---|---|
SQL Server 2000 |
-V 80 |
SQL Server 2005 |
-V 90 |
SQL Server 2008 |
-V 100 |
Interpretación de los tipos de datos que se introdujeron en SQL Server 2005
SQL Server 2005 y versiones posteriores tienen compatibilidad para algunos nuevos tipos. Si desea importar un tipo de datos nuevo en una versión anterior de SQL Server, debe almacenarlo en un formato que pueda ser leído por la versión anterior de los clientes bcp. La tabla siguiente resume cómo se convierten los tipos de datos nuevos de SQL Server 2005 por compatibilidad con las versiones anteriores de SQL Server.
Nuevos tipos de datos de SQL Server 2005 |
Tipos de datos compatibles de la versión 6x |
Tipos de datos compatibles de la versión 70 |
Tipos de datos compatibles de la versión 80 |
---|---|---|---|
bigint |
decimal |
decimal |
* |
sql_variant |
text |
nvarchar(4000) |
* |
varchar(max) |
text |
text |
text |
nvarchar(max) |
ntext |
ntext |
ntext |
varbinary(max) |
image |
image |
image |
XML |
ntext |
ntext |
ntext |
UDT1 |
image |
image |
image |
* Este tipo es compatible en modo nativo.
1 UDT significa tipo definido por el usuario.
Exportar desde SQL Server 2005 y versiones posteriores
Si realiza una exportación masiva de datos mediante el modificador –V 80 de SQL Server 2005 o versiones posteriores, los datos nvarchar(max), varchar(max), varbinary(max), XML y UDT en formato nativo se almacenan con un prefijo de 4 bytes, como datos text, image y ntext, en lugar de usar un prefijo de 8 bytes, que es el valor predeterminado en SQL Server 2005 y versiones posteriores.
Copiar valores de fecha
bcp utiliza la API de copia masiva de ODBC. Por tanto, para importar valores de fecha en SQL Server, bcp utiliza el formato de fecha ODBC (yyyy-mm-dd hh:mm:ss[.f...]).
El comando bcp exporta los archivos de datos con formato de caracteres utilizando el formato predeterminado ODBC para los valores datetime y smalldatetime. Por ejemplo, una columna datetime que contiene la fecha 12 Aug 1998 se copia de forma masiva en un archivo de datos como la cadena de caracteres 1998-08-12 00:00:00.000.
Importante |
---|
Cuando importe datos en un campo smalldatetime utilizando bcp, asegúrese de que el valor de los segundos sea 00.000; de lo contrario, se producirá un error en la operación. El tipo de datos smalldatetime contiene únicamente valores hasta el minuto más cercano. BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) no darán error en esta instancia, pero truncarán el valor de los segundos. |
Tareas relacionadas
Para usar formatos de datos para la importación o exportación masivas
Usar el formato de caracteres para importar o exportar datos (SQL Server)
Usar el formato nativo para importar o exportar datos (SQL Server)
Usar el formato de caracteres Unicode para importar o exportar datos (SQL Server)
Usar el formato nativo Unicode para importar o exportar datos (SQL Server)
[Top]
Vea también
Referencia
Otros recursos
Compatibilidad con versiones anteriores del Motor de base de datos de SQL Server