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
Nella tabella seguente sono riportati i tipi di dati nella prima colonna e quindi i corrispondenti metodi Set e Get.
Tipo di dati |
Metodo Set |
Metodo Get |
---|---|---|
AddBlobData oppure AddBlobData |
||
A questo tipo di dati non è applicabile alcun metodo Get. |
||
Tipi di dati da utilizzare con i metodi Set
Metodo Set |
Tipo di dati |
---|---|
DT_DBTIME oppure DT_DBTIME2 |
|
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\110\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 ulteriori informazioni su questi file di mapping, vedere Importazione ed esportazione guidata di SQL Server.
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.
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 potrà modificare o rimuovere questi metodi oppure modificare i mapping che eseguono in una versione futura di Integration Services. |
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 |
---|---|
System.String |
|
Matrice di System.Byte |
|
System.DateTime |
|
System.DateTime |
|
System.DateTimeOffset |
|
System.DateTime |
|
System.TimeSpan |
|
System.TimeSpan |
|
System.DateTime |
|
System.DateTime |
|
System.Decimal |
|
System.Guid |
|
System.SByte |
|
System.Int16 |
|
System.Int32 |
|
System.Int64 |
|
System.Boolean |
|
System.Single |
|
System.Double |
|
System.Byte |
|
System.UInt16 |
|
System.UInt32 |
|
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.
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 potrà modificare o rimuovere questi metodi oppure modificare i mapping che eseguono in una versione futura di Integration Services. |
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.
Tipo di dati originale di Integration Services |
Tipo di dati di Integration Services mappato |
---|---|
[!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.
|
Vedere anche
Riferimento
ConvertBufferDataTypeToFitManaged