Importare dati in formato nativo e carattere da versioni precedenti di SQL Server

In SQL Server 2012 è possibile utilizzare bcp per importare dati in formato nativo e carattere da SQL Server 2000, SQL Server 2005 o SQL Server 2008, utilizzando l'opzione -V. Se si utilizza l'opzione -V, in SQL Server 2012 vengono utilizzati tipi di dati della versione precedente specificata di SQL Server e il formato del file di dati corrisponderà al formato della versione precedente in questione.

Per specificare una versione di SQL Server precedente per un file di dati, utilizzare l'opzione -V con uno dei qualificatori seguenti:

Versione di SQL Server

Qualificatore

SQL Server 2000 

-V 80

SQL Server 2005

-V 90

SQL Server 2008

-V 100

Interpretazione dei tipi dati introdotti in SQL Server 2005

SQL Server 2005 e versioni successive supportano alcuni nuovi tipi. Se si desidera importare un nuovo tipo di dati in una versione precedente di SQL Server, è necessario archiviarlo in un formato leggibile dai client bcp precedenti. Nella tabella seguente sono indicate le conversioni dei nuovi tipi di dati SQL Server 2005 necessarie per assicurare la compatibilità con le versioni precedenti di SQL Server.

Nuovi tipi di dati in SQL Server 2005

Tipi di dati compatibili nella versione 6x

Tipi di dati compatibili nella versione 70

Tipi di dati compatibili nella versione 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

* Questo tipo viene supportato a livello nativo.

UDT 1 indica un tipo definito dall'utente.

Esportazione da SQL Server 2005 e versioni successive

Quando si esegue l'esportazione bulk di dati da SQL Server 2005 o versioni successive mediante l'opzione –V 80, i dati nvarchar(max), varchar(max), varbinary(max), XML e il tipo di dati definiti dall'utente (UDT) in modalità nativa vengono archiviati con un prefisso a 4 byte come i dati text, image e ntext, anziché con un prefisso a 8 byte che rappresenta l'impostazione predefinita per SQL Server 2005 e versioni successive.

Copia dei valori di data

bcp consente di utilizzare l'API della copia bulk ODBC. Pertanto, per importare i valori di dati in SQL Server, bcp consente di utilizzare il formato di data ODBC (yyyy-mm-dd hh:mm:ss[.f...]).

Il comando bcp esporterà sempre i file di dati in formato carattere utilizzando il formato predefinito ODBC per i valori datetime e smalldatetime. Ad esempio, per una colonna datetime contenente la data 12 Aug 1998 verrà eseguita la copia bulk in un file di dati come stringa di caratteri 1998-08-12 00:00:00.000.

Nota importanteImportante

Quando si importano i dati in un campo smalldatetime utilizzando il comando bcp, verificare che il valore relativo ai secondi sia 00.000; in caso contrario, l'operazione non riuscirà. Il tipo di dati smalldatetime contiene solo valori approssimati al minuto più vicino. In questa istanza, le istruzioni BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) verranno eseguite ma il valore dei secondi verrà troncato.

Attività correlate

Per utilizzare formati di dati per l'importazione o l'esportazione bulk

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Vedere anche

Riferimento

Utilità bcp

BULK INSERT (Transact-SQL)

OPENROWSET (Transact-SQL)

Tipi di dati (Transact-SQL)

CAST e CONVERT (Transact-SQL)

Altre risorse

Compatibilità con le versioni precedenti del Motore di database di SQL Server