Analisi dei datiParsing Data

I flussi di dati nei pacchetti consentono di estrarre e caricare dati da archivi dati eterogenei, in cui possono venire utilizzati numerosi diversi tipi di dati standard e personalizzati.Data flows in packages extract and load data between heterogeneous data stores, which may use a variety of standard and custom data types. In un flusso di dati le origini di Integration ServicesIntegration Services sono responsabili dell'estrazione dei dati, dell'analisi dei dati stringa e della conversione dei dati in un tipo di dati di 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. Le trasformazioni successive possono analizzare dati per convertirli in un tipo di dati diverso oppure creare copie delle colonne con tipi di dati diversi.Subsequent transformations may parse data to convert it to a different data type, or create column copies with different data types. Anche le espressioni utilizzate nei componenti possono eseguire il cast di argomenti e operandi a tipi di dati diversi.Expressions used in components may also cast arguments and operands to different data types. Quando infine i dati vengono caricati in un archivio dati, la destinazione può analizzare i dati per convertirli in un tipo di dati utilizzato dalla destinazione.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. Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

Due tipi di analisiTwo types of parsing

Integration ServicesIntegration Services offre due tipi di analisi per la conversione dei dati: l'analisi veloce e l'analisi standard. provides two types of parsing for converting data: Fast parse and Standard parse.

  • L'analisi veloce è un semplice set di routine di analisi veloci, che non supportano conversioni di tipi di dati specifiche delle impostazioni locali e supportano solo i formati di data e ora utilizzati più di frequente.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.

  • L'analisi standard è un set completo di routine di analisi che supportano tutte le conversioni dei tipi di dati offerte dalle API per la conversione dei tipi di dati di automazione disponibili in 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.

Analisi veloceFast Parse

L'analisi veloce offre un set di routine semplici e veloci per l'analisi dei dati.Fast parse provides a fast, simple set of routines for parsing data. Tali routine sono indipendenti dalle impostazioni locali e supportano solo un subset dei formati di data, ora e integer.These routines are not locale-sensitive and they support only a subset of date, time, and integer formats.

Requisiti e limitazioniRequirements and limitations

I pacchetti che implementano l'analisi veloce hanno una capacità limitata di interpretare le informazioni di data, ora e numeriche nei formati che dipendono dalle impostazioni locali e nei formati ISO 8601 di base ed estesi maggiormente utilizzati, ma offrono prestazioni superiori.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. L'analisi veloce supporta ad esempio solo le rappresentazioni dei formati di data utilizzate più di frequente, quali AAAAMMGG e AAAA-MM-GG, non esegue analisi specifiche delle impostazioni locali, non riconosce i caratteri speciali nei dati di valuta e non è in grado di convertire la rappresentazione esadecimale o scientifica dei valori interi.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.

L'analisi veloce è disponibile solo quando si utilizza l'origine file flat o la trasformazione Conversione dati.Fast parse is available only when you use the Flat File source or the Data Conversion transformation. Poiché l'aumento di prestazioni può essere significativo, se possibile in tali componenti del flusso di dati è consigliabile utilizzare l'analisi veloce.The increase in performance can be significant, and you should consider using fast parse in these data flow components if you can.

Se il flusso di dati nel pacchetto richiede analisi che dipendono dalle impostazioni locali, è consigliabile utilizzare l'analisi standard anziché l'analisi veloce.If the data flow in the package requires locale-sensitive parsing, standard parse is recommended instead of fast parse. L'analisi veloce non riconosce ad esempio dati dipendenti dalle impostazioni locali che includono simboli quali il separatore decimale, formati di data diversi dai formati anno-mese-giorno e simboli di valuta.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.

Le rappresentazioni troncate che includono in modo implicito una o più parti della data, ad esempio il secolo, l'anno o il mese, non vengono riconosciute dall'analisi veloce.Truncated representations that imply one or more date parts, such as a century, a year, or a month, are not recognized by fast parse. L'analisi veloce non riconosce né il formato "-AAMM", che specifica l'anno e il mese in un secolo implicito, né il formato "--MM", che specifica un mese in un anno implicito.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. Vengono tuttavia riconosciute alcune rappresentazioni con precisione ridotta,However, some representations with reduced precision are recognized. ad esempio il formato "hhmm;" che indica solo le ore e i minuti, e il formato "AAAA", che indica solo l'anno.For example, fast parse recognizes the 'hhmm;' format, which indicates hour and minute only, and 'YYYY', which indicates year only.

L'analisi veloce è specificata a livello di colonna.Fast parse is specified at the column level. Nell'origine file flat e nella trasformazione Conversione dati è possibile specificare l'analisi veloce nelle colonne di output.In the Flat File source and the Data Conversion transformation, you can specify Fast parse on output columns. Input e output possono includere sia colonne dipendenti dalle impostazioni locali che colonne indipendenti dalle impostazioni locali.Inputs and outputs can include both locale-sensitive and locale-insensitive columns.

Formati di dati numerici (analisi veloce)Numeric data formats (Fast Parse)

L'analisi veloce offre un set di routine semplici e veloci per l'analisi dei dati, indipendenti dalle impostazioni locali.Fast parse provides a fast, simple, locale-insensitive set of routines for parsing data. Supporta solo un limitato set di formati per i tipi di dati integer.Fast parse supports only a limited set of formats for integer data types.

Tipo di dati integerInteger data type

In Integration ServicesIntegration Services sono disponibili i tipi di dati integer 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. Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

L'analisi veloce supporta i formati seguenti per i tipi di dati integer:Fast parse supports the following formats for integer data types:

  • Zero o più spazi o tabulazioni iniziali e finali o arresti di tabulazioni.Zero or more leading and trailing spaces or tab stops. Ad esempio, il valore " 123 " è valido.For example, the value " 123 " is valid. Un valore costituito da soli spazi viene considerato equivalente a zero.A value that is all spaces evaluates to zero.

  • Un segno più (+), un segno meno (-) o nessun segno iniziale.A leading plus sign, minus sign, or neither. Ad esempio, i valori +123, -123 e 123 sono validi.For example, the values +123, -123, and 123 are valid.

  • Una o più cifre arabe (0-9).One or more Hindu-Arabic numerals (0-9). Ad esempio, il valore 345 è valido.For example, the value 345 is valid. Gli altri tipi di cifre non sono supportati.Other language numerals are not supported.

    Di seguito sono elencati alcuni formati di dati non supportati:Non-supported data formats include the following:

  • Caratteri speciali.Special characters. Il carattere di valuta $, ad esempio, non è supportato e il valore $20 non può essere analizzato.For example, the currency character $ is not supported, and the value $20 cannot be parsed.

  • Caratteri spazio quali i caratteri di avanzamento riga, ritorno a capo e spazio unificatore.White-space characters such as line feed, carriage returns, and non-breaking spaces. Il valore " 123", ad esempio, non può essere analizzato.For example, the value " 123" cannot be parsed.

  • Rappresentazioni esadecimali di valori interi.Hexadecimal representations of integers. Il valore 2EE, ad esempio, non può essere analizzato.For example, the value 2EE cannot be parsed.

  • Valori interi in notazione scientifica.Scientific notation representation of integers. Il valore 1E+10, ad esempio, non può essere analizzato.For example, the value 1E+10 cannot be parsed.

    Di seguito sono elencati alcuni formati di output per i dati integer:The following formats are output data formats for integers:

  • Un segno meno (-) per i numeri negativi e nessun segno per i numeri positivi.A minus sign for negative numbers and nothing for positive ones.

  • Nessun carattere spazio.No white spaces.

  • Una o più cifre arabe (0-9).One or more Hindu-Arabic numerals (0-9).

Formati di data e ora (analisi veloce)Date and time formats (Fast Parse)

L'analisi veloce offre un set di routine semplici e veloci per l'analisi dei dati.Fast parse provides a fast, simple set of routines for parsing data. L'analisi veloce supporta i formati seguenti per i tipi di dati data e ora.Fast parse supports the following formats for date and time data types.

Tipo di dati dateDate data type

L'analisi veloce supporta i formati stringa seguenti per i dati di data:Fast parse supports the following string formats for date data:

  • Formati di data che includono spazi vuoti iniziali.Date formats that include leading white spaces. Il valore " 2004- 02-03", ad esempio, è valido.For example, the value " 2004- 02-03" is valid.

  • Formati ISO 8601, elencati nella tabella seguente:ISO 8601 formats, as listed in the following table:

    FormatoFormat DescriptionDescription
    YYYYMMDDYYYYMMDD

    YYYY-MM-DDYYYY-MM-DD
    Formati di base ed esteso con anno a quattro cifre, a due cifre e giorno a due cifre.Basic and extended formats for a four-digit year, a two-digit month, and a two-digit day. Nel formato esteso, le parti della data sono separate da un segno meno (-).In the extended format, the date parts are separated by a hyphen (-).
    AAAA-MMYYYY-MM Formati di base ed esteso a precisione ridotta, con anno a quattro cifre e mese a due cifre.Basic and extended reduced precision formats for a four-digit year and a two-digit month. Nel formato esteso, le parti della data sono separate da un segno meno (-).In the extended format, the date parts are separated by a hyphen (-).
    AAAAYYYY Formato a precisione ridotta con anno a quattro cifre.Reduced precision format is a four-digit year.

    L'analisi veloce non supporta i formati seguenti per i dati di data:Fast parse does not support the following formats for date data:

  • Valore del mese in forma alfabetica.Alphabetical month values. Ad esempio, il formato di data 31-ott-2003 non è valido.For example, the date format Oct-31-2003 is not valid.

  • Formati ambigui, ad esempio GG-MM-AAAA e MM-GG-AAAA.Ambiguous formats such as DD-MM-YYYY and MM-DD-YYYY. Ad esempio, le date 03-04-1995 e 04-03-1995 non sono valide.For example, the dates 03-04-1995 and 04-03-1995 are not valid.

  • Formati troncati di base ed esteso con anno di calendario a quattro cifre e giorno dell'anno a tre cifre, AAAAGGG e AAAA-GGG.Basic and extended truncated formats for a four-digit calendar year and a three-digit day within a year, YYYYDDD and YYYY-DDD.

  • Formati di base ed esteso con anno a quattro cifre, numero di due cifre per la settimana dell'anno e numero di una cifra per il giorno della settimana, AAAASssG e AAAA-Sss-G.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

  • Formati troncati di base ed esteso per date che includono anno e settimana, con anno a quattro cifre e numero di due cifre per la settimana, 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

    I dati di output dell'analisi veloce sono di tipo DT_DBDATE.Fast parse outputs the data as DT_DBDATE. Ai valori di data con formati troncati viene applicato un riempimento.Date values in truncated formats are padded. Ad esempio, AAAA diventa AAAA0101.For example, YYYY becomes YYYY0101.

    Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

Tipo di dati temporaliTime data type

L'analisi veloce supporta i formati stringa seguenti per i dati di ora:Fast parse supports the following string formats for time data:

  • Formati di ora che includono spazi vuoti iniziali.Time formats that include leading white spaces. Ad esempio, il valore " 10.24" è valido.For example, the value " 10:24" is valid.

  • Formato di 24 ore.24-hour format. L'analisi veloce non supporta la notazione con AM e PM.Fast parse does not support the AM and PM notation.

  • Formati di ora ISO 8601, elencati nella tabella seguente:ISO 8601 time formats, as listed in the following table:

    FormatoFormat DescriptionDescription
    HHMISSHHMISS

    HH:MI:SSHH:MI:SS
    Formati di base ed esteso con ora a due cifre, minuto a due cifre e giorno a due cifre.Basic and extended formats for a two-digit hour, a two-digit minute, and a two-digit second. Nel formato esteso, le parti dell'ora sono separate da un punto (.).In the extended format, the time parts are separated by a colon (:).
    HHMIHHMI

    HH:MIHH:MI
    Formati troncati di base ed esteso con ora a due cifre e minuto a due cifre.Basic and extended truncated format for a two-digit hour and a two-digit minute. Nel formato esteso, le parti dell'ora sono separate da un punto (.).In the extended format, the time parts are separated by a colon (:).
    HHHH Formato troncato con ora a due cifre.Truncated format for a two-digit hour.
    00:00:0000:00:00

    000000000000

    00000000

    0000

    240000240000

    24:00:0024:00:00

    24002400

    2424
    Formato per la mezzanotte.The format for midnight.
  • Formati ora che specificano un fuso orario, elencati nella tabella seguente:Time formats that specify a time zone, as listed in the following table:.

    FormatoFormat DescriptionDescription
    +HH:MI+HH:MI

    +HHMI+HHMI
    Formati di base ed estesi che indicano il numero di ore e minuti da aggiungere all'ora UTC (Coordinated Universal Time) per ottenere l'ora locale.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
    Formati di base ed estesi che indicano il numero di ore e minuti da sottrarre all'ora UTC per ottenere l'ora locale.Basic and extended formats that indicate the number of hours and minutes that are subtracted from UTC to obtain the local time.
    +HH+HH Formato troncato che indica il numero di ore da aggiungere all'ora UTC per ottenere l'ora locale.Truncated format that indicates the number of hours that are added to UTC to obtain the local time.
    -HH-HH Formato troncato che indica il numero di ore da sottrarre all'ora UTC per ottenere l'ora locale.Truncated format that indicates the number of hours that are subtracted from UTC to obtain the local time.
    ZZ Valore 0 che indica che l'ora è rappresentata in formato UTC.A value of 0 that indicates the time is represented in UTC.

    I formati per tutti i dati di ora e di data e ora possono includere un elemento relativo al fuso orario.The formats for all time and date/time data can include a time zone element. Il valore del fuso orario viene tuttavia ignorato dal sistema, ad eccezione del caso in cui i dati sono di tipo DT_DBTIMESTAMPOFFSET.However, the system ignores the time zone value except when the data is of type DT_DBTIMESTAMPOFFSET. Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

    Nei formati che includono un elemento del fuso orario, non vi sono spazi tra l'elemento relativo all'ora e quello relativo al fuso orario, come illustrato nell'esempio seguente: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]

    Le parentesi quadrate nell'esempio precedente indicano che il valore del fuso orario è facoltativo.The brackets in the previous example indicate that the time zone value is optional.

  • Formati di ora che includono una frazione decimale, elencati nella tabella seguente:Time formats that include a decimal fraction, as listed in the following table:

    FormatoFormat DescriptionDescription
    HH[.nnnnnnn]HH[.nnnnnnn] n è un valore compreso tra 0 e 9999999 che rappresenta una frazione di ore.n is a value between 0 and 9999999 that represents a fraction of hours. Le parentesi quadrate indicano che tale valore è facoltativo.The brackets indicate that this value is optional.

    Il valore 12.750 indica ad esempio le 12:45.For example, the value 12.750 indicates 12:45.
    HHMI[.nnnnnnn]HHMI[.nnnnnnn]

    HH:MI[.nnnnnnn]HH:MI[.nnnnnnn]
    n è un valore compreso tra 0 e 9999999 che rappresenta una frazione di minuti.n is a value between 0 and 9999999 that represents a fraction of minutes. Le parentesi quadrate indicano che tale valore è facoltativo.The brackets indicate that this value is optional.

    Il valore 1220,500 indica ad esempio le 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 è un valore compreso tra 0 e 9999999 che rappresenta una frazione di secondi.n is a value between 0 and 9999999 that represents a fraction of seconds. Le parentesi quadrate indicano che tale valore è facoltativo.The brackets indicate that this value is optional.

    Il valore 122040,250 indica ad esempio le 12:20:40.15.For example, the value 122040.250 indicates 12:20:40.15.

    Nota

    Il separatore della parte frazionaria per i formati di ora nella tabella precedente può essere un punto o una virgola.The fraction separator for the time formats in the previous table can be a decimal or a comma.

  • Valori di ora che includono un secondo intercalare, come illustrato negli esempi seguenti: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]

    Le stringhe di output dell'analisi veloce sono di tipo DT_DBTIME e DT_DBTIME2.Fast parse outputs the strings as DT_DBTIME and DT_DBTIME2. Ai valori di ora con formati troncati viene applicato un riempimento.Time values in truncated formats are padded. HH:MI diventa ad esempio HH:MM:00.000.For example, HH:MI becomes HH:MM:00.000.

    Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

Tipo di dati Data/oraDate/Time data type

L'analisi veloce supporta i formati stringa seguenti per i dati di data e ora:Fast parse supports the following string formats for date/time data:

  • Formati che includono spazi vuoti iniziali.Formats that include leading white spaces. Il valore " 2003-01-10T203910", ad esempio, è valido.For example, the value " 2003-01-10T203910" is valid.

  • Combinazioni di formati di data validi e formati di ora validi separati da una T maiuscola e di formati di fuso orario validi. Ad esempio, AAAAMMGGT[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]. I valori relativi a ora e fuso orario non sono obbligatori.The time and time zone values are not required. Il valore "2003-10-14", ad esempio, è valido.For example, "2003-10-14" is valid.

    L'analisi veloce non supporta gli intervalli di tempo.Fast parse does not support time intervals. Non è ad esempio possibile analizzare un intervallo di tempo identificato da una data e ora di inizio e da una data e ora di fine, nel formato AAAAMMGGThhmmss/AAAAMMGGThhmmss.For example, a time interval identified by a start and end date and time in the format YYYYMMDDThhmmss/YYYYMMDDThhmmss cannot be parsed.

    Le stringhe di output dell'analisi veloce sono di tipo DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 e DT_DBTIMESTAMPOFFSET.Fast parse outputs the strings as DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET. Ai valori di data e ora con formati troncati viene applicato un riempimento.Date/time values in truncated formats are padded. Nella tabella seguente sono elencati i valori aggiunti per le parti mancanti relative a data e ora.The following table lists the values that are added for missing date and time parts.

Parte della data o dell'oraDate/Time part Spaziatura internaPadding
SecondiSeconds Viene aggiunto 00.Add 00.
MinutesMinutes Aggiungi 00:00.Add 00:00.
OraHour Viene aggiunto 00.00.00.Add 00:00:00.
DayDay Viene aggiunto 01 come giorno del mese.Add 01 for the day of the month.
MonthMonth Viene aggiunto 01 come mese dell'anno.Add 01 for the month of the year.

Per altre informazioni, vedere Tipi di dati di Integration Services.For more information, see Integration Services Data Types.

Abilitare l'analisi veloceEnable Fast Parse

È necessario impostare la proprietà relativa all'analisi veloce per ogni colonna dell'origine o della trasformazione in cui questa viene utilizzata.The fast parse property must be set for each column of the source or transformation that uses fast parse. Per impostare la proprietà, utilizzare l'editor avanzato dell'origine file flat e della trasformazione Conversione dati.To set the property, use the Advanced editor of the Flat File source and Data Conversion transformation.

  1. Fare clic con il pulsante destro del mouse sull'origine file flat o sulla trasformazione Conversione dati e quindi scegliere Visualizza editor avanzato.Right-click the Flat File source or Data Conversion transformation, and then click Show Advanced Editor.

  2. Nella finestra di dialogo Editor avanzato fare clic sulla scheda Proprietà input e output .In the Advanced Editor dialog box, click the Input and Output Properties tab.

  3. Nel riquadro Input e output fare clic sulla colonna per la quale si desidera abilitare l'analisi veloce.In the Inputs and Outputs pane, click the column for which you want to enable fast parse.

  4. Nella finestra Proprietà espandere il nodo Proprietà personalizzate e quindi impostare la proprietà FastParse su True.In the Properties window, expand the Custom Properties node, and then set the FastParse property to True.

  5. Scegliere OK.Click OK.

Analisi standardStandard Parse

L'analisi standard è un set di routine di analisi, dipendenti dalle impostazioni locali, da cui sono supportate tutte le conversioni previste dalle API per la conversione dei tipi di dati di automazione disponibili in 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. L'analisi standard è equivalente alle API di analisi di OLE DB.Standard parse is equivalent to the OLE DB parsing APIs.

L'analisi standard consente di eseguire conversioni tra tipi di dati utilizzati per dati internazionali e deve essere utilizzata quando il formato dei dati non è supportato dall'analisi veloce.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. Per ulteriori informazioni sull'API di conversione del tipo di dati di automazione, vedere la sezione relativa alle API di conversione dei tipi di dati nel sito Web MSDN Library.For more information about the Automation data type conversion API, see "Data Type Conversion APIs" in the MSDN Library.