Utilizzo di tipi di dati nel flusso di dati

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 utilizzare 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. Nelle tabelle seguenti è indicato quale metodo utilizzare con ogni tipo di dati di Integration Services.

Metodi Set da utilizzare con i tipi di dati

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 alle 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\100\DTS\MappingFiles non sono correlati al mapping dei tipi di dati descritto in questo argomento. Questi file mappano i tipi di dati da una versione o da un sistema di database a un altro, ad esempio da SQL Server 2000 a SQL Server o da SQL Server a Oracle, e vengono utilizzati solo dall'Importazione/Esportazione guidata di SQL Server. Per ulteriori informazioni su questi file di mapping, vedere Utilizzo dell'Importazione/Esportazione guidata SQL Server per lo spostamento dei dati.

Mapping tra tipi di dati di Integration Services e tipi di dati gestiti

I metodi PipelineComponent..::..BufferTypeToDataRecordType e PipelineComponent..::..DataRecordTypeToBufferType eseguono il mapping dei tipi di dati di Integration Services a tipi di dati gestiti.

Nota di attenzioneAttenzione

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 considerano la precisione numerica o la scala oppure altre proprietà strettamente correlate al tipo di dati stesso. In una versione futura di Integration Services Microsoft potrebbe decidere di modificare o rimuovere questi metodi oppure di modificare i mapping che eseguono.

Nella tabella seguente vengono illustrati 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 PipelineComponent..::..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 PipelineComponent..::..BufferTypeToDataRecordType.

Nota di attenzioneAttenzione

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 considerano la precisione numerica o la scala oppure altre proprietà strettamente correlate al tipo di dati stesso. In una versione futura di Integration Services Microsoft potrebbe decidere di modificare o rimuovere questi metodi oppure di modificare i mapping che eseguono.

Nella tabella seguente vengono illustrati i mapping del metodo ConvertBufferDataTypeToFitManaged dei tipi di dati di Integration Services ad altri tipi di dati di Integration Services.

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 della 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.

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 notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.