Importare dati in formato nativo e carattere da versioni precedenti di SQL Server
In SQL Server 2014 è possibile usare bcp per importare dati in formato carattere e nativo da SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 o SQL Server 2012 usando l'opzione -V. L'opzione -V causa SQL Server 2014 di usare i tipi di dati dalla versione precedente specificata di SQL Server e il formato del file di dati è uguale al formato in quella versione precedente.
Per specificare una versione di SQL Server precedente per un file di dati, usare l'opzione -V con uno dei qualificatori seguenti:
Versione di SQL Server | Qualifier |
---|---|
SQL Server 2000 | -V80 |
SQL Server 2005 | -V90 |
SQL Server 2008 | -V100 |
SQL Server 2012 | -V 110 |
Interpretazione dei tipi di dati
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 seguente tabella viene riepilogata la modalità di conversione dei nuovi tipi di dati per 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.
1 UDT indica un tipo definito dall'utente.
Esportazione usando –V 80
Quando si esportano in blocco i dati usando l'opzione -V80, XML e i dati UDT in modalità nativa vengono archiviati con un prefisso a 4 byte, ad esempio text
image
, varchar(max)
nvarchar(max)
varbinary(max)
e ntext
dati, anziché con un prefisso a 8 byte, che è l'impostazione predefinita per SQL Server 2005 e versioni successive.
Copia dei valori di data
bcp consente di usare l'API della copia bulk ODBC. Quindi, per importare i valori di dati in SQL Server, bcp usa il formato di data ODBC (aaaa-mm-gg hh:mm:ss[.f...]).
Il comando bcp esporta i file di dati di formato carattere usando il formato predefinito ODBC per datetime
e smalldatetime
i valori. 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
.
Importante
Quando si importano dati in un smalldatetime
campo usando bcp, assicurarsi che il valore per secondi sia 00,000. In caso contrario, l'operazione avrà esito negativo. 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
Usare il formato carattere per importare o esportare dati (SQL Server)
Usare il formato nativo per importare o esportare dati (SQL Server)
Usare il formato carattere Unicode per importare o esportare dati (SQL Server)
Utilizzare il formato Unicode nativo per importare o esportare dati (SQL Server)
Vedere anche
Utilità bcp
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
Tipi di dati (Transact-SQL)
Compatibilità con le versioni precedenti del motore di database di SQL Server
CAST e CONVERT (Transact-SQL)