Condividi tramite


Tipi di dati di Integration Services

Quando i dati entrano in un flusso di dati di un pacchetto, l'origine che estrae i dati li converte in un tipo di dati di Integration Services. Ai dati numerici viene assegnato un tipo di dati numeric, ai dati stringa viene assegnato un tipo di dati character e alle date viene assegnato un tipo di dati date. Agli altri dati, ad esempio GUID e BLOB (oggetto binario di grandi dimensioni), vengono assegnati i tipi dai dati di Integration Services appropriati. Se i dati sono di un tipo non convertibile in un tipo di dati di Integration Services, verrà generato un errore.

Alcuni componenti flusso di dati consentono di eseguire la conversione tra i tipi di dati di Integration Services e i tipi di dati gestiti di Microsoft .NET Framework. Per ulteriori informazioni sul mapping tra i tipi di dati di Integration Services e i tipi di dati gestiti, vedere Utilizzo di tipi di dati nel flusso di dati.

Nella tabella seguente vengono elencati i tipi di dati di Integration Services. Alcuni dei tipi di dati nella tabella dispongono di informazioni sulla precisione e sulla scala. Per ulteriori informazioni sulla precisione e sulla scala, vedere Precisione, scala e lunghezza (Transact-SQL).

Tipo di dati

Descrizione

DT_BOOL

Valore booleano.

DT_BYTES

Valore binario di lunghezza variabile, fino a un massimo di 8000 byte.

DT_CY

Valore di valuta. Questo tipo di dati è un intero con segno a 8 byte con scala 4 e precisione massima di 19 cifre.

DT_DATE

Struttura di data che include anno, mese, giorno, ora, minuti, secondi e secondi frazionari. I secondi frazionari hanno una scala fissa di 7 cifre.

Il tipo di dati DT_DATE viene implementato utilizzando un numero a virgola mobile a 8 byte. I giorni vengono rappresentati tramite incrementi costituiti da numeri interi, a partire dal 30 dicembre 1899, e la mezzanotte corrisponde all'ora zero. I valori di ora sono rappresentati dal valore assoluto della parte frazionaria del numero. Poiché tuttavia i valori a virgola mobile non consentono di rappresentare tutti i numeri reali, l'intervallo di date che è possibile rappresentare utilizzando il tipo di dati DT_DATE è limitato.

Il tipo di dati DT_DBTIMESTAMP, invece, è rappresentato da una struttura che internamente include campi distinti per anno, mese, giorno, ore, minuti, secondi e millisecondi. Questo tipo di dati può essere utilizzato per rappresentare intervalli di date più ampi.

DT_DBDATE

Struttura di data che include anno, mese e giorno.

DT_DBTIME

Struttura di ora che include ora, minuto e secondo.

DT_DBTIME2

Struttura di ora che include ora, minuti, secondi e secondi frazionari. I secondi frazionari hanno una scala massima di 7 cifre.

DT_DBTIMESTAMP

Struttura di timestamp che include anno, mese, giorno, ora, minuti, secondi e secondi frazionari. I secondi frazionari hanno una scala fissa di 3 cifre.

DT_DBTIMESTAMP2

Struttura di timestamp che include anno, mese, giorno, ora, minuti, secondi e secondi frazionari. I secondi frazionari hanno una scala massima di 7 cifre.

DT_DBTIMESTAMPOFFSET

Struttura di timestamp che include anno, mese, giorno, ora, minuti, secondi e secondi frazionari. I secondi frazionari hanno una scala massima di 7 cifre.

A differenza dei tipi di dati DT_DBTIMESTAMP e DT_DBTIMESTAMP2, il tipo di dati DT_DBTIMESTAMPOFFSET include la differenza di fuso orario. Questa differenza specifica il numero di ore e minuti di scostamento rispetto all'ora UTC (Coordinated Universal Time). La differenza di fuso orario viene utilizzata dal sistema per calcolare l'ora locale.

La differenza di fuso orario deve includere un segno, più o meno, per indicare se il relativo valore deve essere aggiunto all'ora UTC o sottratto da essa. Il numero valido per la differenza di ore è compreso tra -14 e +14. Il segno per la differenza di minuti dipende da quello per la differenza di ore:

  • Se il segno per la differenza di ore è negativo, la differenza di minuti deve essere un valore negativo o zero.

  • Se il segno per la differenza di ore è positivo, la differenza di minuti deve essere un valore positivo o zero.

  • Se il segno per la differenza di ore è zero, la differenza di minuti può essere qualsiasi valore da 0,59 negativo a 0,59 positivo.

DT_DECIMAL

Valore numerico esatto con scala e precisione fisse. Questo tipo di dati è un intero senza segno a 12 byte, con segno a parte, scala da 0 a 28 e precisione massima 29.

DT_FILETIME

Valore a 64 bit che rappresenta il numero di intervalli di 100 nanosecondi trascorsi dal 1 gennaio 1601. I secondi frazionari hanno una scala massima di 3 cifre.

DT_GUID

Identificatore univoco globale (GUID, Globally Unique Identifier).

DT_I1

Intero con segno a 1 byte.

DT_I2

Intero con segno a 2 byte.

DT_I4

Intero con segno a 4 byte.

DT_I8

Intero con segno a 8 byte.

DT_NUMERIC

Valore numerico esatto con scala e precisione fisse. Questo tipo di dati è un intero senza segno a 16 byte, con segno a parte, scala da 0 a 38 e precisione massima 38.

DT_R4

Valore a virgola mobile con precisione singola.

DT_R8

Valore a virgola mobile con precisione doppia.

DT_STR

Stringa di caratteri ANSI/MBCS con terminazione Null e lunghezza massima di 8000 caratteri. Se un valore di una colonna contiene ulteriori terminatori Null, la stringa verrà troncata in corrispondenza del primo carattere Null.

DT_UI1

Intero senza segno a 1 byte.

DT_UI2

Intero senza segno a 2 byte.

DT_UI4

Intero senza segno a 4 byte.

DT_UI8

Intero senza segno a 8 byte.

DT_WSTR

Stringa di caratteri Unicode con terminazione Null e lunghezza massima di 4000 caratteri. Se un valore di una colonna contiene ulteriori terminatori Null, la stringa verrà troncata in corrispondenza del primo carattere Null.

DT_IMAGE

Valore binario con dimensioni massime di 231-1 (2.147.483.647) byte .

DT_NTEXT

Stringa di caratteri Unicode con lunghezza massima di 230 - 1 (1.073.741.823) caratteri.

DT_TEXT

Stringa di caratteri ANSI/MBCS con lunghezza massima di 231-1 (2.147.483.647) caratteri.

Conversione dei tipi di dati

Se i dati in una colonna non richiedono l'intera larghezza allocata dal tipo di dati di origine, sarà possibile modificare il tipo di dati della colonna. Riducendo il più possibile la larghezza delle singole righe di dati è possibile ottimizzare le prestazioni delle operazioni di trasferimento dei dati, perché minore è la larghezza della riga, più rapido sarà lo spostamento dei dati dall'origine alla destinazione.

Integration Services include un set completo di tipi di dati numeric ed è pertanto possibile scegliere quello più appropriato alle dimensioni dei dati. Se ad esempio i valori di una colonna con tipo di dati DT_UI8 sono sempre numeri interi da 0 a 3000, sarà possibile modificare il tipo di dati in DT_UI2. Analogamente, se una colonna con tipo di dati DT_CY può soddisfare i requisiti di dati del pacchetto anche utilizzando un tipo di dati integer, sarà possibile modificare il tipo di dati in DT_I4.

Per modificare il tipo di dati di una colonna, procedere nel modo seguente:

Conversione tra stringhe e tipi di dati di data e ora

Nella tabella seguente sono elencati i risultati di esecuzione del cast o di conversione tra stringhe e tipi di dati di data e ora:

  • Quando si utilizza l'operatore cast o la trasformazione Conversione dati, i dati di tipo data e ora vengono convertiti nel formato stringa corrispondente. Ad esempio, il tipo di data DT_DBTIME sarà convertito in una stringa nel formato "hh:mm:ss".

  • Quando si desidera eseguire la conversione da una stringa a un tipo di dati di data oppure ora, la stringa deve utilizzare il formato stringa che corrisponde al tipo di dati di data oppure ora appropriato. Ad esempio per convertire correttamente alcune stringhe di data nel tipo di dati DT_DBDATE, è necessario che le stringhe siano nel formato, "aaaa-mm-gg".

    Tipo di dati

    Formato stringa

    DT_DBDATE

    aaaa-mm-gg

    DT_FILETIME

    aaaa-mm-gg hh:mm:ss:fff

    DT_DBTIME

    hh:mm:ss

    DT_DBTIME2

    hh:mm:ss[.fffffff]

    DT_DBTIMESTAMP

    aaaa-mm-gg hh:mm:ss[.fff]

    DT_DBTIMESTAMP2

    aaaa-mm-gg hh:mm:ss[.fffffff]

    DT_DBTIMESTAMPOFFSET

    aaaa-mm-gg hh:mm:ss[.fffffff] [{+|-} hh:mm]

Nel formato per DT_FILETIME e DT_DBTIMESTAMP, fff è un valore compreso tra 0 e 999 che rappresenta i secondi frazionari.

Nel formato di data per DT_DBTIMESTAMP2, DT_DBTIME2 e DT_DBTIMESTAMPOFFSET, fffffff è un valore compreso tra 0 e 9999999 che rappresenta i secondi frazionari.

Il formato di data per DT_DBTIMESTAMPOFFSET include anche un elemento relativo al fuso orario. Tra l'elemento relativo all'ora e quello relativo al fuso orario è presente uno spazio.

Conversione dei tipi di dati di data e ora

È possibile modificare il tipo di dati di una colonna contenente informazioni di data e ora in modo da estrarre la parte di dati relativa alla data o all'ora. Nella tabella seguente sono illustrati i risultati della conversione da un tipo di dati di data e ora a un altro tipo di dati di data e ora.

Conversione da DT_FILETIME

Conversione di DT_FILETIME in

Risultato

DT_FILETIME

Nessuna modifica.

DT_DATE

Conversione del tipo di dati.

DT_DBDATE

Rimozione del valore di ora.

DT_DBTIME

Rimozione del valore di data.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre frazionarie che il tipo di dati DT_DBTIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIME2

Rimozione del valore di data rappresentato dal tipo di dati DT_FILETIME.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP

Conversione del tipo di dati.

DT_DBTIMESTAMP2

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMPOFFSET

Impostazione del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET su zero.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMPOFFSET può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Conversione da DT_DATE

Conversione di DT_DATE in

Risultato

DT_FILETIME

Conversione del tipo di dati.

DT_DATE

Nessuna modifica.

DT_DBDATE

Rimozione del valore di ora rappresentato dal tipo di dati DT_DATA.

DT_DBTIME

Rimozione del valore di data rappresentato dal tipo di dati DT_DATE.

DT_DBTIME2

Rimozione del valore di data rappresentato dal tipo di dati DT_DATE.

DT_DBTIMESTAMP

Conversione del tipo di dati.

DT_DBTIMESTAMP2

Conversione del tipo di dati.

DT_DBTIMESTAMPOFFSET

Impostazione del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET su zero.

Conversione da DT_DBDATE

Conversione di DT_DBDATE in

Risultato

DT_FILETIME

Impostazione dei campi dell'ora nel tipo di dati DT_FILETIME su zero.

DT_DATE

Impostazione dei campi dell'ora nel tipo di dati DT_DATE su zero.

DT_DBDATE

Nessuna modifica.

DT_DBTIME

Impostazione dei campi dell'ora nel tipo di dati DT_DBTIME su zero.

DT_DBTIME2

Impostazione dei campi dell'ora nel tipo di dati DT_DBTIME2 su zero.

DT_DBTIMESTAMP

Impostazione dei campi dell'ora nel tipo di dati DT_DBTIMESTAMP su zero.

DT_DBTIMESTAMP2

Impostazione dei campi dell'ora nel tipo di dati DT_DBTIMESTAMP su zero.

DT_DBTIMESTAMPOFFSET

Impostazione dei campi dell'ora e del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET su zero.

Conversione da DT_DBTIME

Conversione di DT_DBTIME in

Risultato

DT_FILETIME

Impostazione del campo della data nel tipo di dati DT_FILETIME sulla data corrente.

DT_DATE

Impostazione del campo della data nel tipo di dati DT_DATE sulla data corrente.

DT_DBDATE

Impostazione del campo della data nel tipo di dati DT_DBDATE sulla data corrente.

DT_DBTIME

Nessuna modifica.

DT_DBTIME2

Conversione del tipo di dati.

DT_DBTIMESTAMP

Impostazione del campo della data nel tipo di dati DT_DBTIMESTAMP sulla data corrente.

DT_DBTIMESTAMP2

Impostazione del campo della data nel tipo di dati DT_DBTIMESTAMP2 sulla data corrente.

DT_DBTIMESTAMPOFFSET

Impostazione del campo della data e del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET rispettivamente sulla data corrente e su zero.

Conversione da DT_DBTIME2

Conversione di DT_DBTIME2 in

Risultato

DT_FILETIME

Impostazione del campo della data nel tipo di dati DT_FILETIME sulla data corrente.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_FILETIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DATE

Impostazione del campo della data nel tipo di dati DT_DATE sulla data corrente.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DATE può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBDATE

Impostazione del campo della data nel tipo di dati DT_DBDATE sulla data corrente.

DT_DBTIME

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIME2

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME2 di destinazione può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP

Impostazione del campo della data nel tipo di dati DT_DBTIMESTAMP sulla data corrente.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP2

Impostazione del campo della data nel tipo di dati DT_DBTIMESTAMP2 sulla data corrente.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMPOFFSET

Impostazione del campo della data e del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET rispettivamente sulla data corrente e su zero.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMPOFFSET può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Conversione da DT_DBTIMESTAMP

Conversione di DT_DBTIMESTAMP in

Risultato

DT_FILETIME

Conversione del tipo di dati.

DT_DATE

Se un valore rappresentato dal tipo di dati DT_DBTIMESTAMP causa l'overflow dell'intervallo supportato dal tipo di dati DT_DATE, viene restituito l'errore DB_E_DATAOVERFLOW. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBDATE

Rimozione del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMP.

DT_DBTIME

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMP.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIME2

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMP.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP

Nessuna modifica.

DT_DBTIMESTAMP2

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMPOFFSET

Impostazione del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET su zero.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMPOFFSET può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Conversione da DT_DBTIMESTAMP2

Conversione di DT_DBTIMESTAMP2 in

Risultato

DT_FILETIME

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_FILETIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DATE

Se un valore rappresentato dal tipo di dati DT_DBTIMESTAMP2 causa l'overflow dell'intervallo supportato dal tipo di dati DT_DATE, viene restituito l'errore DB_E_DATAOVERFLOW. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DATE può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBDATE

Rimozione del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMP2.

DT_DBTIME

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMP2.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIME2

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMP2.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP

Se un valore rappresentato dal tipo di dati DT_DBTIMESTAMP2 causa l'overflow dell'intervallo supportato dal tipo di dati DT_DBTIMESTAMP, viene restituito l'errore DB_E_DATAOVERFLOW.

Viene eseguito il mapping di DT_DBTIMESTAMP2 a un tipo di dati di SQL Server, datetime2, con un intervallo compreso tra 1 gennaio 1 d.C. e 31 dicembre 9999. Viene eseguito il mapping di DT_DBTIMESTAM a un tipo di dati di SQL Server, datetime, con un intervallo più piccolo, compreso tra 1 gennaio 1753 e 31 dicembre 9999.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati.

Per ulteriori informazioni sugli errori, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP2

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP2 di destinazione può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMPOFFSET

Impostazione del campo del fuso orario nel tipo di dati DT_DBTIMESTAMPOFFSET su zero.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMPOFFSET può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Conversione da DT_DBTIMESTAMPOFFSET

Conversione di DT_DBTIMESTAMPOFFSET in

Risultato

DT_FILETIME

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC (Coordinated Universal Time).

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_FILETIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DATE

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC.

Se un valore rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET causa l'overflow dell'intervallo supportato dal tipo di dati DT_DATE, viene restituito l'errore DB_E_DATAOVERFLOW.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DATE può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati.

Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBDATE

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC (Coordinated Universal Time). La modifica può influire sul valore di data. Il valore di ora viene quindi rimosso.

DT_DBTIME

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC.

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMPEOFFSET.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIME2

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC.

Rimozione del valore di data rappresentato dal tipo di dati DT_DBTIMESTAMPEOFFSET.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIME2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC.

Se un valore rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET causa l'overflow dell'intervallo supportato dal tipo di dati DT_DBTIMESTAMP, viene restituito l'errore DB_E_DATAOVERFLOW.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati.

Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMP2

Modifica del valore di ora rappresentato dal tipo di dati DT_DBTIMESTAMPOFFSET in ora UTC.

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMP2 può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

DT_DBTIMESTAMPOFFSET

Rimozione del valore di secondi frazionari quando la scala è maggiore del numero di cifre per i secondi frazionari che il tipo di dati DT_DBTIMESTAMPOFFSET di destinazione può contenere. Dopo la rimozione del valore di secondi frazionari, viene generato un report relativo al troncamento dei dati. Per ulteriori informazioni, vedere Gestione degli errori nel flusso di dati.

Mapping tra i tipi di dati di Integration Services e i tipi di dati di database

Nella tabella seguente sono incluse informazioni sul mapping tra i tipi di dati utilizzati in alcuni database e i tipi di dati di Integration Services. Questi mapping sono riepilogati nei file di mapping utilizzati dall'Importazione/Esportazione guidata SQL Server per l'importazione dei dati da queste origini. Per ulteriori informazioni su questi file di mapping, vedere Utilizzo dell'Importazione/Esportazione guidata SQL Server per lo spostamento dei dati.

Nota importanteImportante

Questi mapping non rappresentano una rigida corrispondenza, ma offrono solo informazioni generali. In alcuni casi potrebbe essere necessario utilizzare un tipo di dati diverso rispetto a quello indicato nella tabella.

Tipo di dati

SQL Server

(SQLOLEDB, SQLNCLI10)

SQL Server (SqlClient)

Jet

Oracle

(OracleClient)

DB2

(DB2OLEDB)

DB2

(IBMDADB2)

DT_BOOL

bit

bit

Bit

DT_BYTES

binary, varbinary, timestamp

binary, varbinary, timestamp

BigBinary, VarBinary

RAW

DT_CY

smallmoney, money

smallmoney, money

Valuta

DT_DATE

DT_DBDATE

date

date

date

date

date

DT_DBTIME

timestamp

time

time

DT_DBTIME2

time(p)

time(p)

DT_DBTIMESTAMP

datetime, smalldatetime

datetime, smalldatetime

DateTime

TIMESTAMP, DATE, INTERVAL

TIME, TIMESTAMP, DATE

TIME, TIMESTAMP, DATE

DT_DBTIMESTAMP2

datetime2

datetime2

timestamp

timestamp

timestamp

DT_DBTIMESTAMPOFFSET

datetimeoffset(p)

datetimeoffset(p)

timestampoffset

timestamp,

varchar

timestamp,

varchar

DT_DECIMAL

DT_FILETIME

DT_GUID

uniqueidentifier

uniqueidentifier

GUID

DT_I1

DT_I2

smallint

smallint

Short

SMALLINT

SMALLINT

DT_I4

int

int

Long

INTEGER

INTEGER

DT_I8

bigint

bigint

BIGINT

BIGINT

DT_NUMERIC

decimal, numeric

decimal, numeric

Decimal

NUMBER, INT

DECIMAL, NUMERIC

DECIMAL, NUMERIC

DT_R4

real

real

Single

REAL

REAL

DT_R8

float

float

Double

FLOAT, REAL

FLOAT, DOUBLE

FLOAT, DOUBLE

DT_STR

char, varchar

VarChar

CHAR, VARCHAR

CHAR, VARCHAR

DT_UI1

tinyint

tinyint

Byte

DT_UI2

DT_UI4

DT_UI8

DT_WSTR

nchar, nvarchar, sql_variant, xml

char, varchar, nchar, nvarchar, sql_variant, xml

LongText

CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR

GRAPHIC, VARGRAPHIC

GRAPHIC, VARGRAPHIC

DT_IMAGE

image

image

LongBinary

LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, definito dall'utente

CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA

CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA, BLOB

DT_NTEXT

ntext

text, ntext

LONG, CLOB, NCLOB, NVARCHAR, TEXT

LONG VARCHAR, NCHAR, NVARCHAR, TEXT

LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT

DT_TEXT

text

LONG VARCHAR FOR BIT DATA

LONG VARCHAR FOR BIT DATA, CLOB

Per informazioni sul mapping dei tipi di dati nel flusso di dati, vedere Utilizzo di tipi di dati nel flusso di dati.

Risorse esterne

Intervento nel blog sul confronto di prestazioni tra le tecniche di conversione del tipo di dati in SSIS 2008, disponibile su blogs.msdn.com

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services

Per informazioni sui download, gli articoli, gli esempi e i video Microsoft più recenti, nonché sulle soluzioni selezionate dalla community, visitare la pagina Integration Services su MSDN o TechNet:

Per ricevere notifiche automatiche su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.

Vedere anche

Concetti