Análise de dadosParsing Data

Os fluxos de dados em pacotes extraem e carregam dados entre armazenamentos de dados heterogêneos, que podem usar uma variedade de tipos de dados padrão e personalizados.Data flows in packages extract and load data between heterogeneous data stores, which may use a variety of standard and custom data types. Em um fluxo de dados, as fontes Integration ServicesIntegration Services fazem o trabalho de extração dos dados, análise dos dados da cadeia de caracteres e conversão de dados para um tipo de dados Integration ServicesIntegration Services .In a data flow, Integration ServicesIntegration Services sources do the work of extracting data, parsing string data, and converting data to an Integration ServicesIntegration Services data type. As transformações subsequentes podem analisar os dados para convertê-los em um tipo diferente de dados ou para criar cópias de coluna com tipos diferentes de dados.Subsequent transformations may parse data to convert it to a different data type, or create column copies with different data types. As expressões usadas em componentes também podem lançar argumentos e operandos para os tipos diferentes de dados.Expressions used in components may also cast arguments and operands to different data types. Finalmente, quando os dados são carregados no repositório de dados, o destino pode analisar os dados para convertê-los em um tipo de dados usado pelo destino.Finally, when the data is loaded into a data store, the destination may parse the data to convert it to a data type that the destination uses. Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

Dois tipos de análiseTwo types of parsing

Integration ServicesIntegration Services fornece dois tipos de análises para conversão de dados: Análise rápida e Análise padrão. provides two types of parsing for converting data: Fast parse and Standard parse.

  • A análise rápida é um conjunto simples de rotinas de análise que não oferece suporte a conversões de tipos de dados específicas de localidade, e só oferece suporte aos formatos de data e hora usados com mais frequência.Fast parse is a fast, simple set of parsing routines that does not support locale-specific data type conversions, and supports only the most frequently used date and time formats.

  • A análise padrão é um conjunto rico de rotinas de análise que oferecem suporte a todas as conversões de tipos de dados fornecidas pelas APIs de conversão de tipos de dados de Automação, disponíveis no Oleaut32.dll e Ole2dsip.dll.Standard parse is a rich set of parsing routines that supports all the data type conversions that are provided by the Automation data type conversion APIs available in Oleaut32.dll and Ole2dsip.dll.

Fast ParseFast Parse

A análise rápida fornece um conjunto de rotinas simples e rápidas para analisar dados.Fast parse provides a fast, simple set of routines for parsing data. Essas rotinas não são sensíveis à localidade e aceitam apenas um subconjunto de formatos de data, hora e inteiro.These routines are not locale-sensitive and they support only a subset of date, time, and integer formats.

Requisitos e limitaçõesRequirements and limitations

Ao se implementar a análise rápida, o pacote perde sua habilidade para interpretar data, hora e dados numéricos em formatos específicos à localidade e em formatos ISO 8601 básicos e estendidos, mas o pacote melhora seu desempenho.By implementing fast parse, a package forfeits its ability to interpret date, time, and numeric data in locale-specific formats and many frequently used ISO 8601 basic and extended formats, but the package enhances its performance. Por exemplo, a análise rápida oferece suporte somente aos formatos mais comuns utilizados para representar data como YYYYMMDD e YYYY-MM-DD, não executa análise específica do local, não reconhece caracteres especiais em dados de moeda e não pode converter representação hexadecimal ou científica de inteiros.For example, fast parse supports only the most commonly used date format representations such as YYYYMMDD and YYYY-MM-DD, does not perform locale-specific parsing, does not recognize special characters in currency data, and cannot convert hexadecimal or scientific representation of integers.

A análise rápida só está disponível quando você usa o fonte Arquivo Simples ou a transformação de Conversão de Dados.Fast parse is available only when you use the Flat File source or the Data Conversion transformation. O aumento no desempenho pode ser significativo e você pode considerar o uso da análise rápida nesses componentes de fluxo de dados se desejar.The increase in performance can be significant, and you should consider using fast parse in these data flow components if you can.

Se o fluxo de dados no pacote requer análise sensível a localidade, a análise padrão é recomendada em lugar da análise rápida.If the data flow in the package requires locale-sensitive parsing, standard parse is recommended instead of fast parse. Por exemplo, a análise rápida não reconhece dados sensíveis ao local, que incluem símbolos decimais como a vírgula, formatos de data que não sejam ano-mês-dia e símbolos de moeda.For example, fast parse does not recognize locale-sensitive data that includes decimal symbols such as the comma, date formats other than year-month-date formats, and currency symbols.

Representações truncadas que implicam em uma ou mais partes da data, como um século, um ano ou um mês, não são reconhecidas pela análise rápida.Truncated representations that imply one or more date parts, such as a century, a year, or a month, are not recognized by fast parse. Por exemplo, a análise rápida não reconhece o formato '-YYMM', que especifica um ano e um mês em um século implícito, nem '--MM', que especifica um mês em um ano implícito.For example, fast parse recognizes neither the '-YYMM' format, which specifies a year and month in an implied century, nor '--MM', which specifies a month in an implied year. Porém, algumas representações com precisão reduzida são reconhecidas.However, some representations with reduced precision are recognized. Por exemplo, a análise rápida reconhece o formato 'hhmm;', que indica somente hora e minuto e 'YYYY', que indica somente o ano.For example, fast parse recognizes the 'hhmm;' format, which indicates hour and minute only, and 'YYYY', which indicates year only.

A análise rápida é especificada ao nível de coluna.Fast parse is specified at the column level. Na fonte Flat File e na transformação de Conversão de Dados, você pode especificar a Análise rápida nas colunas de saída.In the Flat File source and the Data Conversion transformation, you can specify Fast parse on output columns. Entradas e saídas podem incluir colunas sensíveis a local e colunas não sensíveis a local.Inputs and outputs can include both locale-sensitive and locale-insensitive columns.

Formatos de dados numéricos (análise rápida)Numeric data formats (Fast Parse)

A análise rápida fornece uma análise de dados rápida e simples a um conjunto de rotinas sem diferenciação de localidade.Fast parse provides a fast, simple, locale-insensitive set of routines for parsing data. A análise rápida suporta apenas um conjunto limitado de formatos para tipos de dados de números inteiros.Fast parse supports only a limited set of formats for integer data types.

Tipo de dados inteiroInteger data type

Os tipos de dados de números inteiros que o Integration ServicesIntegration Services fornece são DT_I1, DT_UI1, DT_I2, DT_UI2, DT_I4, DT_UI4, DT_I8 e DT_UI8.The integer data types that Integration ServicesIntegration Services provides are DT_I1, DT_UI1, DT_I2, DT_UI2, DT_I4, DT_UI4, DT_I8, and DT_UI8. Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

A análise rápida suporta os seguintes formatos para tipos de dados de números inteiros:Fast parse supports the following formats for integer data types:

  • Zero com espaços à esquerda e à direita ou paradas de tabulação.Zero or more leading and trailing spaces or tab stops. Por exemplo, o valor " 123 " é válido.For example, the value " 123 " is valid. Um valor com espaços é avaliado como zero.A value that is all spaces evaluates to zero.

  • Um sinal de mais, menos ou nenhum sinal.A leading plus sign, minus sign, or neither. Por exemplo, os valores +123, -123 e 123 são válidos.For example, the values +123, -123, and 123 are valid.

  • Um ou mais números hindu-árabes (0-9).One or more Hindu-Arabic numerals (0-9). Por exemplo, o valor 345 é válido.For example, the value 345 is valid. Outros dados numéricos do idioma não são suportados.Other language numerals are not supported.

    Entre os formatos de dados que não são suportados estão:Non-supported data formats include the following:

  • Caracteres especiais.Special characters. Por exemplo, o símbolo de cifrão ($) não é suportado e o valor $20 não pode ser analisado.For example, the currency character $ is not supported, and the value $20 cannot be parsed.

  • Caracteres com espaço em branco como quebra de linha, retornos de carro e espaços que não indicam uma quebra.White-space characters such as line feed, carriage returns, and non-breaking spaces. Por exemplo, o valor " 123" não pode ser analisado.For example, the value " 123" cannot be parsed.

  • Representações hexadecimais de números inteiros.Hexadecimal representations of integers. Por exemplo, o valor 2EE não pode ser analisado.For example, the value 2EE cannot be parsed.

  • Representação de notação científica de números inteiros.Scientific notation representation of integers. Por exemplo, o valor 1E+10 não pode ser analisado.For example, the value 1E+10 cannot be parsed.

    Os seguintes formatos são formatos de dados de saída para números inteiros:The following formats are output data formats for integers:

  • Um sinal de menos para números negativos e nenhum sinal para números positivos.A minus sign for negative numbers and nothing for positive ones.

  • Nenhum espaço em branco.No white spaces.

  • Um ou mais números hindu-árabes (0-9).One or more Hindu-Arabic numerals (0-9).

Formatos de data e hora (análise rápida)Date and time formats (Fast Parse)

A análise rápida fornece um conjunto de rotinas simples e rápidas para analisar dados.Fast parse provides a fast, simple set of routines for parsing data. A análise rápida oferece suporte aos seguintes formatos de tipos de dados de data e hora.Fast parse supports the following formats for date and time data types.

Tipo de dados de dataDate data type

A análise rápida oferece suporte aos seguintes formatos de cadeia de caracteres para dados de data:Fast parse supports the following string formats for date data:

  • Formatos de data que incluem espaços em branco à esquerda.Date formats that include leading white spaces. Por exemplo, o valor " 2004- 02-03" é válido.For example, the value " 2004- 02-03" is valid.

  • Os formatos ISO 8601, como listados na seguinte tabela:ISO 8601 formats, as listed in the following table:

    FormatoFormat DescriptionDescription
    AAAAMMDDYYYYMMDD

    AAAA-MM-DDYYYY-MM-DD
    Os formatos básico e estendido para um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos.Basic and extended formats for a four-digit year, a two-digit month, and a two-digit day. No formato estendido, as datas são separadas por um hífen (-).In the extended format, the date parts are separated by a hyphen (-).
    AAAA-MMYYYY-MM Os formatos básico e estendido de precisão reduzida para um ano de quatro dígitos e um mês de dois dígitos.Basic and extended reduced precision formats for a four-digit year and a two-digit month. No formato estendido, as datas são separadas por um hífen (-).In the extended format, the date parts are separated by a hyphen (-).
    AAAAYYYY O formato de precisão reduzida é um ano de quatro dígitos.Reduced precision format is a four-digit year.

    A análise rápida não oferece suporte aos seguintes formatos para dados de data:Fast parse does not support the following formats for date data:

  • Valores de meses alfabéticos.Alphabetical month values. Por exemplo, o formato de data Oct-31-2003 não é válido.For example, the date format Oct-31-2003 is not valid.

  • Formatos ambíguos como DD-MM-AAAA e MM-DD-AAAA.Ambiguous formats such as DD-MM-YYYY and MM-DD-YYYY. Por exemplo, as datas 03-04-1995 e 04-03-1995 não são válidas.For example, the dates 03-04-1995 and 04-03-1995 are not valid.

  • Os formatos básico e estendido truncados para um ano de calendário de quatro dígitos e um dia de três dígitos em um ano, AAAADDD e AAAA-DDD.Basic and extended truncated formats for a four-digit calendar year and a three-digit day within a year, YYYYDDD and YYYY-DDD.

  • Os formatos básico e estendido para um ano de quatro dígitos, um número de dois dígitos para a semana do ano e um número de um dígito para o dia da semana, AAAASssD e AAAA-Sss-D.Basic and extended formats for a four-digit year, a two-digit number for the week of the year, and a one-digit number for the day of the week, YYYYWwwD and YYYY-Www-D

  • Os formatos básico e estendido truncados para uma data de um ano e semana são um ano de quatro dígitos e um número de dois dígitos para a semana, AAASss e AAAA-Sss.Basic and extended truncated formats for a year and week date are a four-digit year and a two-digit number for the week, YYYWww and YYYY-Www

    A análise efetua a saída dos dados como DT_DBDATE.Fast parse outputs the data as DT_DBDATE. Os valores de data em formatos truncados são convertidos.Date values in truncated formats are padded. Por exemplo, AAAA se torna AAAA0101.For example, YYYY becomes YYYY0101.

    Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

Tipo de dados de tempoTime data type

A análise rápida oferece suporte aos seguintes formatos de cadeia de caracteres para dados de hora:Fast parse supports the following string formats for time data:

  • Formatos de hora que incluem espaços em branco à esquerda.Time formats that include leading white spaces. Por exemplo, o valor " 10:24" é válido.For example, the value " 10:24" is valid.

  • Formato de 24 horas.24-hour format. A análise rápida não oferece suporte à notação AM e PM.Fast parse does not support the AM and PM notation.

  • Os formatos de hora ISO 8601, como listados na seguinte tabela:ISO 8601 time formats, as listed in the following table:

    FormatoFormat DescriptionDescription
    HHMISSHHMISS

    HH:MI:SSHH:MI:SS
    Os formatos básico e estendido para uma hora de dois dígitos, um minuto de dois dígitos e um segundo de dois dígitos.Basic and extended formats for a two-digit hour, a two-digit minute, and a two-digit second. No formato estendido, a hora é separada por dois pontos (:).In the extended format, the time parts are separated by a colon (:).
    HHMIHHMI

    HH:MIHH:MI
    Os formatos básico e estendido truncados para uma hora de dois dígitos e um minuto de dois dígitos.Basic and extended truncated format for a two-digit hour and a two-digit minute. No formato estendido, a hora é separada por dois pontos (:).In the extended format, the time parts are separated by a colon (:).
    HHHH Formato truncado para uma hora de dois dígitos.Truncated format for a two-digit hour.
    00:00:0000:00:00

    000000000000

    00000000

    0000

    240000240000

    24:00:0024:00:00

    24002400

    2424
    O formato para meia-noite.The format for midnight.
  • Os formatos de hora que especificam um fuso horário, como listados na seguinte tabela:Time formats that specify a time zone, as listed in the following table:.

    FormatoFormat DescriptionDescription
    +HH:MI+HH:MI

    +HHMI+HHMI
    Os formatos básico e estendido que indicam o número de horas e minutos que são adicionados ao tempo universal coordenado (UTC) para obter a hora local.Basic and extended formats that indicate the number of hours and minutes that are added to Coordinated Universal Time (UTC) to obtain the local time.
    -HH:MI-HH:MI

    -HHMI-HHMI
    Os formatos básico e estendido que indicam o número de horas e minutos que são subtraídos do UTC para obter a hora local.Basic and extended formats that indicate the number of hours and minutes that are subtracted from UTC to obtain the local time.
    +HH+HH O formato truncado que indica o número de horas que são adicionadas ao UTC para obter a hora local.Truncated format that indicates the number of hours that are added to UTC to obtain the local time.
    -HH-HH O formato truncado que indica o número de horas que são subtraídas do UTC para obter a hora local.Truncated format that indicates the number of hours that are subtracted from UTC to obtain the local time.
    ZZ Um valor 0 que indica a hora é representado no UTC.A value of 0 that indicates the time is represented in UTC.

    Os formatos para todos os dados de hora e data/hora podem incluir um elemento de fuso horário.The formats for all time and date/time data can include a time zone element. Porém, o sistema ignora o valor do fuso horário, exceto quando os dados são do tipo DT_DBTIMESTAMPOFFSET.However, the system ignores the time zone value except when the data is of type DT_DBTIMESTAMPOFFSET. Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

    Nos formatos que incluem um elemento de fuso horário, não há espaço entre o elemento de hora e o de fuso horário, como mostrado no seguinte exemplo:In formats that include a time zone element, there is no space between the time element and the time zone element, as shown in the following example:

    HH:MI:SS[+HH:MI]HH:MI:SS[+HH:MI]

    As chaves no exemplo anterior indicam que o valor do fuso horário é opcional.The brackets in the previous example indicate that the time zone value is optional.

  • Os formatos de hora que incluem uma fração decimal, como listados na seguinte tabela:Time formats that include a decimal fraction, as listed in the following table:

    FormatoFormat DescriptionDescription
    HH [.nnnnnnn]HH[.nnnnnnn] n é um valor entre 0 e 9999999 que representa uma fração de horas.n is a value between 0 and 9999999 that represents a fraction of hours. As chaves indicam que esse valor é opcional.The brackets indicate that this value is optional.

    Por exemplo, o valor 12.750 indica 12:45.For example, the value 12.750 indicates 12:45.
    HHMI [.nnnnnnn]HHMI[.nnnnnnn]

    HH:MI [.nnnnnnn]HH:MI[.nnnnnnn]
    n é um valor entre 0 e 9999999 que representa uma fração de minutos.n is a value between 0 and 9999999 that represents a fraction of minutes. As chaves indicam que esse valor é opcional.The brackets indicate that this value is optional.

    Por exemplo, o valor 1220.500 indica 12:20:30.For example, the value 1220.500 indicates 12:20:30.
    HHMISS [.nnnnnnn]HHMISS[.nnnnnnn]

    HH:MI:SS[.nnnnnnn]HH:MI:SS[.nnnnnnn]
    n é um valor entre 0 e 9999999 que representa uma fração de segundos.n is a value between 0 and 9999999 that represents a fraction of seconds. As chaves indicam que esse valor é opcional.The brackets indicate that this value is optional.

    Por exemplo, o valor 122040.250 indica 12:20:40.15.For example, the value 122040.250 indicates 12:20:40.15.

    Observação

    O separador de fração para os formatos de hora na tabela anterior pode ser um decimal ou uma vírgula.The fraction separator for the time formats in the previous table can be a decimal or a comma.

  • Os valores de hora que incluem um segundo, como mostrado nos seguintes exemplos:Time values that include a leap second, as shown in the following examples:

    23:59:60[.0000000]23:59:60[.0000000]

    235960[.0000000]235960[.0000000]

    A análise rápida efetua a saída de cadeias de caracteres como DT_DBTIME e DT_DBTIME2.Fast parse outputs the strings as DT_DBTIME and DT_DBTIME2. Os valores de hora em formatos truncados são convertidos.Time values in truncated formats are padded. Por exemplo, HH:MI se torna HH:MM:00 .000.For example, HH:MI becomes HH:MM:00.000.

    Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

Tipo de dados de data/horaDate/Time data type

A análise rápida oferece suporte aos seguintes formatos de cadeia de caracteres para dados de data/hora:Fast parse supports the following string formats for date/time data:

  • Formatos que incluem espaços em branco à esquerda.Formats that include leading white spaces. Por exemplo, o valor " 2003-01-10T203910" é válido.For example, the value " 2003-01-10T203910" is valid.

  • As combinações de formatos de data e de hora válidos separados por um T maiúsculo, e os formatos de fuso horário válidos, como AAAAMMDDT[HHMISS][+HH:MI].Combinations of valid date formats and valid time formats separated by an uppercase T, and valid time zone formats, such as YYYYMMDDT[HHMISS][+HH:MI]. Os valores de hora e de fuso horário não são obrigatórios.The time and time zone values are not required. Por exemplo, "2003-10-14" são válidos.For example, "2003-10-14" is valid.

    A análise rápida não oferece suporte a intervalos de tempo.Fast parse does not support time intervals. Por exemplo, um intervalo de tempo identificado por uma data e hora iniciais e finais no formato AAAAMMDDThhmmss/AAAAMMDDThhmmss não pode ser analisado.For example, a time interval identified by a start and end date and time in the format YYYYMMDDThhmmss/YYYYMMDDThhmmss cannot be parsed.

    A análise rápida efetua saídas das cadeias de caracteres como DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 e DT_DBTIMESTAMPOFFSET.Fast parse outputs the strings as DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET. Os valores de data/hora em formatos truncados são convertidos.Date/time values in truncated formats are padded. A tabela a seguir lista os valores que são adicionados nas partes de data e hora ausentes.The following table lists the values that are added for missing date and time parts.

Parte de data e horaDate/Time part PreenchimentoPadding
Seconds (segundos)Seconds Adicione 00.Add 00.
Minutes (minutos)Minutes Adicionar 00:00.Add 00:00.
HoraHour Adicione 00:00:00.Add 00:00:00.
DayDay Adicione 01 para o dia do mês.Add 01 for the day of the month.
MonthMonth Adicione 01 para o mês do ano.Add 01 for the month of the year.

Para obter mais informações, consulte Integration Services Data Types.For more information, see Integration Services Data Types.

Habilitar a análise rápidaEnable Fast Parse

A propriedade de análise rápida deve ser definida para cada coluna da origem ou transformação que use a análise rápida.The fast parse property must be set for each column of the source or transformation that uses fast parse. Para definir a propriedade, use o Editor avançado da fonte Flat File e da transformação de Conversão de Dados.To set the property, use the Advanced editor of the Flat File source and Data Conversion transformation.

  1. Clique com o botão direito do mouse na fonte Arquivo Simples ou na transformação de Conversão de Dados e clique em Mostrar Editor Avançado.Right-click the Flat File source or Data Conversion transformation, and then click Show Advanced Editor.

  2. Na caixa de diálogo Editor Avançado , clique na guia Propriedades de Entrada e Saída .In the Advanced Editor dialog box, click the Input and Output Properties tab.

  3. No painel Entradas e Saídas , clique na coluna para a qual você quer ativar a análise rápida.In the Inputs and Outputs pane, click the column for which you want to enable fast parse.

  4. Na janela Propriedades, expanda o nó Propriedades Personalizadas e defina a propriedade FastParse como True.In the Properties window, expand the Custom Properties node, and then set the FastParse property to True.

  5. Clique em OK.Click OK.

Standard ParseStandard Parse

A análise padrão é um conjunto de rotinas de análise com diferenciação de localidade que oferece suporte a todas as conversões de tipos de dados fornecidas pelas APIs de conversão de tipos de dados de Automação disponíveis no Oleaut32.dll e Ole2dsip.dll.Standard parse is a locale-sensitive set of parsing routines that support all the data type conversions provided by the Automation data type conversion APIs that are available in Oleaut32.dll and Ole2dsip.dll. A análise padrão é equivalente às APIs de análise de OLE DB.Standard parse is equivalent to the OLE DB parsing APIs.

Ela oferece suporte para a conversão de tipo de dados de dados internacionais e pode ser usada caso o formato de dados não seja suportado pela análise rápida.Standard parse provides support for data type conversion of international data, and it should be used if the data format is not supported by Fast parse. Para obter mais informações sobre a API de conversão de tipo de dados de Automação, consulte "APIs de conversão de tipos de sados" na Biblioteca MSDN.For more information about the Automation data type conversion API, see "Data Type Conversion APIs" in the MSDN Library.