Utilizzo di tipi di dati nel flusso di dati
Si applica a:SQL Server Integration Runtime SSIS in Azure Data Factory
Quando si sviluppa un componente del flusso di dati personalizzato in Integration Services, si utilizzano costantemente i tipi di dati, copiando dati in e dai buffer del flusso di dati e trasformando valori. Le informazioni di questo argomento consentono di scegliere i tipi di dati di Integration Services corretti e di usare i metodi corretti per gestirli.
Inserimento di dati nel flusso di dati
La classe PipelineBuffer fornisce una serie di metodi Set per la copia di dati in colonne del buffer e una serie corrispondente di metodi Get per il recupero dei dati dalle colonne del buffer. Le tabelle seguenti indicano quale metodo usare con ogni tipo di dati di Integration Services.
Metodi Set da utilizzare con i tipi di dati
La tabella seguente elenca i tipi di dati nella prima colonna e quindi i corrispondenti metodi Set e Get.
Tipi di dati da utilizzare con i metodi Set
Mapping dei tipi di dati nel flusso di dati
Durante lo spostamento di dati dalle origini attraverso le trasformazioni verso le destinazioni, un componente del flusso di dati deve a volte convertire i tipi di dati tra i tipi di SQL Server Integration Services definiti nell'enumerazione DataType e i tipi di dati gestiti di Microsoft .NET Framework definiti nello spazio dei nomi System. Inoltre, un componente deve a volte convertire un tipo di dati di Integration Services in un altro affinché possa essere convertito in un tipo gestito.
Nota
I file di mapping in formato XML installati per impostazione predefinita in C:\Programmi\Microsoft SQL Server\130\DTS\MappingFiles non sono correlati al mapping dei tipi di dati descritto in questo argomento. Questi file consentono di eseguire il mapping dei tipi di dati da un sistema o una versione di database a un'altra, ad esempio da SQL Server a Oracle, e vengono utilizzati solo dall'Importazione/Esportazione guidata di SQL Server. Per altre informazioni su questi file di mapping, vedere Importazione/Esportazione guidata SQL Server.
Mapping tra tipi di dati di Integration Services e tipi di dati gestiti
I metodi BufferTypeToDataRecordType e DataRecordTypeToBufferType eseguono il mapping dei tipi di dati di Integration Services a tipi di dati gestiti.
Attenzione
Gli sviluppatori devono utilizzare questi metodi della classe PipelineComponent con attenzione e possono scegliere di creare metodi di mapping dei tipi di dati personalizzati più appropriati per le esigenze specifiche dei loro componenti personalizzati. I metodi esistenti non prendono in considerazione la precisione numerica o la scala o altre proprietà strettamente correlate al tipo di dati stesso. Microsoft potrebbe modificare o rimuovere questi metodi oppure modificare i mapping che eseguono in una versione futura di Integration Services.
Nella tabella seguente sono elencati i mapping dei metodi BufferTypeToDataRecordType e DataRecordTypeToBufferType di vari tipi di dati di Integration Services a tipi di dati gestiti.
Tipo di dati di Integration Services | Tipo di dati gestito mappato |
---|---|
DT_WSTR | System.String |
DT_BYTES | Matrice di System.Byte |
DT_DBTIMESTAMP | System.DateTime |
DT_DBTIMESTAMP2 | System.DateTime |
DT_DBTIMESTAMPOFFSET | System.DateTimeOffset |
DT_DBDATE | System.DateTime |
DT_DBTIME | System.TimeSpan |
DT_DBTIME2 | System.TimeSpan |
DT_DATE | System.DateTime |
DT_FILETIME | System.DateTime |
DT_NUMERIC | System.Decimal |
DT_GUID | System.Guid |
DT_I1 | System.SByte |
DT_I2 | System.Int16 |
DT_I4 | System.Int32 |
DT_I8 | System.Int64 |
DT_BOOL | System.Boolean |
DT_R4 | System.Single |
DT_R8 | System.Double |
DT_UI1 | System.Byte |
DT_UI2 | System.UInt16 |
DT_UI4 | System.UInt32 |
DT_UI8 | System.UInt64 |
Mapping dei tipi di dati di Integration Services in base ai tipi di dati gestiti
A volte, un componente del flusso di dati deve anche convertire un tipo di dati di Integration Services in un altro affinché possa essere convertito in un tipo gestito. La classe del metodo ConvertBufferDataTypeToFitManaged esegue il mapping dei tipi di dati di Integration Services ad altri tipi di dati di Integration Services che possono quindi essere mappati a tipi di dati gestiti tramite il metodo BufferTypeToDataRecordType.
Attenzione
Gli sviluppatori devono utilizzare questi metodi della classe PipelineComponent con attenzione e possono scegliere di creare metodi di mapping dei tipi di dati personalizzati più appropriati per le esigenze specifiche dei loro componenti personalizzati. I metodi esistenti non prendono in considerazione la precisione numerica o la scala o altre proprietà strettamente correlate al tipo di dati stesso. Microsoft potrebbe modificare o rimuovere questi metodi oppure modificare i mapping che eseguono in una versione futura di Integration Services.
Nella tabella seguente sono elencati i mapping del metodo ConvertBufferDataTypeToFitManaged dei tipi d dati di Integration Services con altri tipi di dati di Integration Services.
Tipo di dati originale di Integration Services | Tipo di dati di Integration Services mappato |
---|---|
DT_DECIMAL | DT_NUMERIC |
DT_CY | DT_NUMERIC |
DT_DATE | DT_DBTIMESTAMP |
DT_DBDATE | DT_DBTIMESTAMP |
DT_FILETIME | DT_DBTIMESTAMP |
DT_DBTIMESTAMP2 | DT_DBTIMESTAMP |
DT_DBTIME | DT_DBTIME2 |
DT_BOOL | DT_I4 |
DT_TEXT | DT_WSTR |
DT_NTEXT | DT_WSTR |
DT_STR | DT_WSTR |
DT_IMAGE | DT_BYTES |
Nota
Il metodo ConvertBufferDataTypeToFitManaged non restituisce un valore per il tipo di dati DT_DBTIMESTAMPOFFSET e si verifica UnsupportedBufferDataTypeException. È necessario convertire il tipo di dati DT_DBTIMESTAMPOFFSET in uno dei tipi di dati data/ora di Integration Services di cui è possibile eseguire il mapping a un tipo di dati gestito. Per un elenco di tipi di dati data/ora di Integration Services di cui è possibile eseguire il mapping a un tipo di dati gestito, vedere la tabella nella sezione precedente, "Mapping tra tipi di dati di Integration Services e tipi di dati gestiti". Per informazioni sulla conversione dei tipi di dati, vedere Tipi di dati di Integration Services.
Vedere anche
BufferTypeToDataRecordType
DataRecordTypeToBufferType
ConvertBufferDataTypeToFitManaged
Tipi di dati di Integration Services
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per