Trabalhando com tipos de dados no fluxo de dados
Ao desenvolver um componente de fluxo de dados personalizado no Integration Services, você trabalha constantemente com tipos de dados, copiando dados para e dos buffers de fluxo de dados e transformando valores. As informações deste tópico ajudam você a escolher os tipos de dados corretos do Integration Services e a usar os métodos corretos quando estiver trabalhando com eles.
Inserindo dados no fluxo de dados
A classe PipelineBuffer fornece uma série de métodos Set para copiar dados nas colunas do buffer e uma série correspondente de métodos Get para recuperar dados das colunas do buffer. As tabelas seguintes mostram a você qual método usar com cada tipo de dados Integration Services.
Defina os métodos a serem utilizados com os tipos de dados
A tabela seguinte lista o tipo de dado na primeira coluna e os métodos Set e Get correspondentes.
Tipo de Dado |
Método Set |
Método Get |
---|---|---|
Não há método Get aplicável a este tipo de dados. |
||
Tipos de dados para usar com os métodos Set
Método Set |
Tipo de Dado |
---|---|
Mapeando tipos de dados no fluxo de dados
Ao mover dados das fontes por meio de transformações até os destinos, um componente de fluxo de dados às vezes deve converter tipos de dados entre os tipos SQL Server Integration Services definidos na enumeração DataType e os tipos de dados gerenciados do Microsoft .NET Framework definidos no namespace do Sistema. Além disso, às vezes, um componente precisa converter um tipo de dados do Integration Services em outro para que o tipo possa ser convertido em um tipo gerenciado.
Observação |
---|
Os arquivos de mapeamento no formato XML que são instalados por padrão em C:\Arquivos de Programas\Microsoft SQL Server\100\DTS\MappingFiles não são relacionados ao mapeamento de tipos de dados descrito neste tópico. Esses arquivos mapeiam tipos de dados de uma versão de banco de dados ou sistema para outro (por exemplo, de SQL Server 2000 para SQL Server ou de SQL Server para Oracle) e são utilizados somente pelo Assistente de Importação e Exportação do SQL Server. Para obter mais informações sobre esses arquivos de mapeamento, consulte Usando o Assistente de Importação e Exportação do SQL Server para mover dados. |
Mapeando entre os tipos de dados gerenciados e do Integration Services
O PipelineComponent..::..BufferTypeToDataRecordType e os métodos PipelineComponent..::..DataRecordTypeToBufferType mapeiam tipos de dados Integration Services para tipos de dados gerenciados.
Cuidado |
---|
Os desenvolvedores devem utilizar esses métodos da classe PipelineComponent com cuidado e podem desejar codificar seus próprios métodos de mapeamento de tipo de dados que são mais adequados para as necessidades exclusivas de seus componentes personalizados. Os métodos existentes não consideram a precisão ou escala numérica ou outras propriedades estreitamente relacionadas ao tipo de dados em si. A Microsoft pode modificar ou remover esses métodos ou modificar os mapeamentos que eles realizam em uma versão futura do Integration Services. |
A tabela a seguir lista como os métodos BufferTypeToDataRecordType e DataRecordTypeToBufferType mapeiam vários tipos de dados do Integration Services para tipos de dados gerenciados.
Tipos de dados do Integration Services |
Mapeia para este tipo de dado gerenciado |
---|---|
System.String |
|
Array of 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 |
Mapeando tipos de dados do Integration Services para se ajustarem aos tipos de dados gerenciados
Às vezes, um componente de fluxo de dados também tem que converter um tipo de dado do Integration Services em outro antes daquele tipo poder ser convertido em um tipo gerenciado. A classe de método PipelineComponent..::..ConvertBufferDataTypeToFitManaged mapeia os tipos de dados do Integration Services em outros tipos de dados Integration Services que poderão, então, ser mapeados para tipos de dados gerenciados por meio do método PipelineComponent..::..BufferTypeToDataRecordType.
Cuidado |
---|
Os desenvolvedores devem utilizar esses métodos da classe PipelineComponent com cuidado e podem desejar codificar seus próprios métodos de mapeamento de tipo de dados que são mais adequados para as necessidades exclusivas de seus componentes personalizados. Os métodos existentes não consideram a precisão ou escala numérica ou outras propriedades estreitamente relacionadas ao tipo de dados em si. A Microsoft pode modificar ou remover esses métodos ou modificar os mapeamentos que eles realizam em uma versão futura do Integration Services. |
A tabela seguinte lista como o método ConvertBufferDataTypeToFitManaged mapeia tipos de dados do Integration Services para outros tipos de dados do Integration Services.
Tipos de dados originais do Integration Services |
Mapeia para este tipo de dado do Integration Services |
---|---|
Observação |
---|
O método ConvertBufferDataTypeToFitManaged não retorna um valor para o tipo de dado DT_DBTIMESTAMPOFFSET e ocorre uma UnsupportedBufferDataTypeException. Você deve converter o tipo de dado DT_DBTIMESTAMPOFFSET em um dos tipos de dados de data/hora do Integration Services que podem ser mapeados para um tipo de dado gerenciado. Para obter uma lista de tipos de dados de data/hora do Integration Services que podem ser mapeados para tipos de dados gerenciados, consulte a tabela na seção anterior, "Mapeamento entre os tipos de dados gerenciados e do Integration Services". Para obter informações sobre como converter tipos de dados, consulte Tipos de dados do Integration Services. |
|
Consulte também