Trabajar con tipos de datos del flujo de datos

Al desarrollar un componente de flujo de datos personalizado en Integration Services, trabaja constantemente con tipos de datos, copiando los datos en y fuera de búferes de flujo de datos y transformando los valores. La información de este tema le ayuda a elegir los tipos de datos de Integration Services correctos y a utilizar los métodos correctos al trabajar con ellos.

Insertar datos en el flujo de datos

La clase PipelineBuffer proporciona una serie de métodos Set para copiar los datos en las columnas de búfer y una serie correspondiente de métodos Get para recuperar los datos de las columnas de búfer. En las tablas siguientes se muestra qué método utilizar con cada tipo de datos de Integration Services.

Establecer los métodos que se van a usar con los tipos de datos

Tipos de datos que se van a usar con los métodos Set

Asignar los tipos de datos en el flujo de datos

Al mover los datos desde los orígenes a través de las transformaciones hasta los destinos, un componente de flujo de datos debe realizar a veces la conversión entre los tipos de SQL Server Integration Services definidos en la enumeración DataType y los tipos de datos administrados de Microsoft .NET Framework definidos en el espacio de nombres System. Además, un componente debe realizar a veces la conversión de un tipo de datos de Integration Services en otro antes de que ese tipo se pueda convertir en un tipo administrado.

Nota

Los archivos de asignación en formato XML que se instalan de forma predeterminada en C:\Archivos de programa\Microsoft SQL Server\100\DTS\MappingFiles no tienen que ver con la asignación de tipo de datos descrita en este tema. Estos archivos asignan los tipos de datos de una versión de base de datos o sistema a otra (por ejemplo, de SQL Server 2000 a SQL Server o de SQL Server a Oracle) y solo los utiliza el Asistente para importación y exportación de SQL Server. Para obtener más información acerca de los archivos de asignación, vea Usar el Asistente para importación y exportación de SQL Server para mover datos.

Realizar asignaciones entre los tipos de datos de Integration Services y los administrados

Los métodos PipelineComponent..::..DataRecordTypeToBufferType y PipelineComponent..::..BufferTypeToDataRecordType asignan los tipos de datos de Integration Services a los tipos de datos administrados.

Nota de advertenciaAdvertencia

Los programadores deben utilizar estos métodos de la clase PipelineComponent con precaución y quizá prefieran codificar los métodos de asignación de tipo de datos propios que mejor se ajustan a las necesidades únicas de sus componentes personalizados. Los métodos existentes no consideran la precisión numérica o la escala, u otras propiedades estrechamente relacionadas con el propio tipo de datos. Microsoft puede modificar o quitar estos métodos, o modificar las asignaciones que realizan, en una versión futura de Integration Services.

En la siguiente tabla se muestra cómo los métodos BufferTypeToDataRecordType y DataRecordTypeToBufferType asignan los distintos tipos de datos de Integration Services a los tipos de datos administrados.

Tipo de datos de Integration Services

Se asigna a este tipo de datos administrado

DT_WSTR

System.String

DT_BYTES

Matriz de 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

Asignar los tipos de datos de Integration Services para que se ajusten a los tipos de datos administrados

A veces, un componente de flujo de datos debe convertir un tipo de datos de Integration Services en otro antes de que ese tipo se pueda convertir en un tipo administrado. La clase de método PipelineComponent..::..ConvertBufferDataTypeToFitManaged asigna los tipos de datos de Integration Services a otros tipos de datos de Integration Services que se pueden asignar después a los tipos de datos administrados utilizando el método PipelineComponent..::..BufferTypeToDataRecordType.

Nota de advertenciaAdvertencia

Los programadores deben utilizar estos métodos de la clase PipelineComponent con precaución y quizá prefieran codificar los métodos de asignación de tipo de datos propios que mejor se ajustan a las necesidades únicas de sus componentes personalizados. Los métodos existentes no consideran la precisión numérica o la escala, u otras propiedades estrechamente relacionadas con el propio tipo de datos. Microsoft puede modificar o quitar estos métodos, o modificar las asignaciones que realizan, en una versión futura de Integration Services.

En la tabla siguiente se muestra cómo el método ConvertBufferDataTypeToFitManaged asigna los tipos de datos de Integration Services a otros tipos de datos de Integration Services.

Nota

El método ConvertBufferDataTypeToFitManaged no devuelve un valor para el tipo de datos DT_DBTIMESTAMPOFFSET y se produce una excepción UnsupportedBufferDataTypeException. Debe convertir el tipo de datos DT_DBTIMESTAMPOFFSET en uno de los tipos de datos de fecha y hora de Integration Services que se pueden asignar a un tipo de datos administrado. Para obtener una lista de los tipos de datos de fecha y hora de Integration Services que se pueden asignar a los tipos de datos administrados, vea la tabla de la sección anterior, "Realizar asignaciones entre los tipos de datos de Integration Services y los administrados". Para obtener información acerca de cómo convertir los tipos de datos, vea Tipos de datos de Integration Services.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.