file non elaborato - destinazioneRaw File Destination

La destinazione file non elaborato scrive dati non elaborati in un file.The Raw File destination writes raw data to a file. Poiché il formato dei dati è nativo della destinazione, non è necessaria alcuna conversione e quasi nessuna analisi dei dati.Because the format of the data is native to the destination, the data requires no translation and little parsing. Questo significa che la destinazione file non elaborato è in grado di scrivere i dati più rapidamente rispetto ad altre destinazioni, quali le destinazioni file flat e OLE DB.This means that the Raw File destination can write data more quickly than other destinations such as the Flat File and the OLE DB destinations.

Oltre alla scrittura di dati non elaborati in un file, la destinazione file non elaborato può essere utilizzata anche per generare un file non elaborato vuoto contenente solo le colonne (file di soli metadati), senza dover eseguire il pacchetto.In addition to writing raw data to a file, you can also use the Raw File destination to generate an empty raw file that contains only the columns (metadata-only file), without having to run the package. Si utilizza l'origine file non elaborato per recuperare dati non elaborati scritti in precedenza dalla destinazione.You use the Raw File source to retrieve raw data that was previously written by the destination. È anche possibile puntare l'origine file non elaborato al file di soli metadati.You can also point the Raw File source to the metadata-only file.

Nel formato di file non elaborato sono contenute informazioni di ordinamento.The raw file format contains sort information. Con la destinazione file non elaborato è possibile salvare tutte le informazioni di ordinamento in cui sono inclusi i flag di confronto per le colonne stringa.The Raw File Destination saves all the sort information including the comparison flags for string columns. Con l'origine file non elaborato è possibile leggere e riconoscere le informazioni di ordinamento.The Raw File source reads and honors the sort information. È possibile configurare l'origine file non elaborato in modo da ignorare i flag di ordinamento nel file utilizzando l'editor avanzato.You do have the option of configuring the Raw File Source to ignore the sort flags in the file, using the Advanced Editor. Per altre informazioni sui flag di confronto, vedere Confronto di dati stringa.For more information about comparison flags, see Comparing String Data.

Per configurare la destinazione file non elaborato, procedere nel modo seguente:You can configure the Raw File destination in the following ways:

  • Specificare una modalità di accesso, ovvero il nome del file o una variabile contenente il nome del file in cui la destinazione file non elaborato dovrà scrivere.Specify an access mode which is either the name of the file or a variable that contains the name of the file to which the Raw File destination writes.

  • Indicare se la destinazione file non elaborato deve creare un nuovo file o accodare i dati a un file esistente con lo stesso nome.Indicate whether the Raw File destination appends data to an existing file that has the same name or creates a new file.

    La destinazione file non elaborato viene frequentemente utilizzata per scrivere risultati intermedi di dati parzialmente elaborati durante l'esecuzione dei pacchetti.The Raw File destination is frequently used to write intermediary results of partly processed data between package executions. Se si archiviano i dati non elaborati, sarà possibile rileggerli rapidamente tramite un'origine file non elaborato e quindi trasformarli ulteriormente prima di caricarli nella destinazione finale.Storing raw data means that the data can be read quickly by a Raw File source and then further transformed before it is loaded into its final destination. È ad esempio possibile eseguire più volte un pacchetto che a ogni esecuzione scrive dati non elaborati in uno o più fileFor example, a package might run several times, and each time write raw data to files. e successivamente eseguire un altro pacchetto che utilizza l'origine file non elaborato per leggere i dati da ogni file, utilizza una trasformazione Unione input multipli per unire i dati in un unico set di dati, quindi applica ulteriori trasformazioni che riepilogano i dati prima di caricarli nella destinazione finale, ad esempio una tabella di SQL ServerSQL Server .Later, a different package can use the Raw File source to read from each file, use a Union All transformation to merge the data into one data set, and then apply additional transformations that summarize the data before loading the data into its final destination such as a SQL ServerSQL Server table.

Nota

La destinazione file non elaborato supporta dati Null ma non dati BLOB (Binary Large Object).The Raw File destination supports null data but not binary large object (BLOB) data.

Nota

La destinazione file non elaborato non utilizza alcuna gestione connessione.The Raw File destination does not use a connection manager.

Questa origine include un solo input regolare.This source has one regular input. Non supporta un output degli errori.It does not support an error output.

Opzioni Accoda e Nuovo fileAppend and New File Options

La proprietà WriteOption include opzioni per accodare dati a un file esistente o crearne uno nuovo.The WriteOption property includes options to append data to an existing file or create a new file.

La tabella seguente descrive le opzioni disponibili per la proprietà WriteOption.The following table describes the available options for the WriteOption property.

OpzioneOption DescriptionDescription
AccodaAppend Accoda i dati a un file esistente.Appends data to an existing file. I metadati dei dati accodati devono corrispondere al formato del file.The metadata of the appended data must match the file format.
Crea sempreCreate always Crea sempre un nuovo file.Always creates a new file.
Crea una sola voltaCreate once Crea un nuovo file.Creates a new file. Se il file esiste, il componente ha esito negativo.If the file exists, the component fails.
Tronca e accodaTruncate and append Tronca un file esistente e quindi vi scrive i dati.Truncates an existing file and then writes the data to the file. I metadati dei dati accodati devono corrispondere al formato del file.The metadata of the appended data must match the file format.

Di seguito sono riportati elementi importanti relativi all'accodamento dei dati:The following are important items about appending data:

  • L'accodamento dei dati in un file non elaborato esistente non comporta il riordinamento dei dati.Appending data to an existing raw file does not re-sort the data.

    È necessario assicurarsi che le chiavi ordinate rimangano nell'ordine corretto.You need to make certain that the sorted keys remain in the correct order.

  • L'accodamento dei dati in un file non elaborato esistente non comporta la modifica dei metadati del file (informazioni sull'ordinamento).Appending data to an existing raw file does not change the file metadata (sort information).

    Ad esempio, in un pacchetto vengono letti i dati ordinati sul ProductKey (PK).For example, a package reads data sorted on the ProductKey (PK). Con il flusso di dati del pacchetto, i dati vengono accodati in un file non elaborato esistente.The package data flow appends the data to an existing raw file. Alla prima esecuzione del pacchetto, vengono ricevute tre righe (PK 1000, 1100, 1200).The first time the package runs, three rows are received (PK 1000, 1100, 1200). Nel file non elaborato sono ora contenuti i dati riportati di seguito.The raw file now contains the following data.

  • 1000, productA1000, productA

  • 1100, productB1100, productB

  • 1200, productC1200, productC

    Alla seconda esecuzione del pacchetto, vengono ricevute due nuove righe (PK 1001, 1300).The second time the package runs, two new rows are received (PK 1001, 1300). Nel file non elaborato sono ora contenuti i dati riportati di seguito.The raw file now contains the following data.

  • 1000, productA1000, productA

  • 1100, productB1100, productB

  • 1200, productC1200, productC

  • 1001, productD1001, productD

  • 1300, productE1300, productE

    I nuovi dati vengono accodati alla fine del file non elaborato e le chiavi ordinate (PK) non sono disponibili.The new data is appended to the end of the raw file, and the sorted keys (PK) are out of order. Inoltre, l'operazione di accodamento non ha modificato i metadati del file (informazioni di ordinamento).In addition, the append operation didn’t change the file metadata (sort information). Se il file viene letto utilizzando l'origine file non elaborato, tramite il componente viene indicato che il file è ancora ordinato su PK anche se i dati nel file non sono più nell'ordine corretto.If you read the file by using the Raw File source, the component indicates that the file is still sorted on PK even though the data in the file is no longer in the correct order.

    Per mantenere le chiavi ordinate nell'ordine corretto mentre si accodano i dati, è possibile progettare il flusso di dati del pacchetto nel modo seguente:To keep the sorted keys in the correct order while appending data, you can design the package data flow as follows:

  1. Recuperare le nuove righe tramite l'origine A.Retrieve new rows by using Source A.

  2. Recuperare le righe esistenti da RawFile1 utilizzando l'origine B.Retrieve existing rows from RawFile1 using Source B.

  3. Combinare gli input delle origini A e B tramite la trasformazione Unione input multipli.Combine the inputs from Source A and Source B by using the Union All transformation.

  4. Ordinare su PK.Sort on PK.

  5. Scrivere in RawFile2 utilizzando la destinazione file non elaborato.Write to RawFile2 by using the Raw File destination.

    RawFile1 viene bloccato perché ne viene eseguita la lettura nel flusso di dati.RawFile1 is locked because it’s being read from, in the data flow.

  6. Sostituire RawFile1 con RawFile2.Replace RawFile1 with RawFile2.

Utilizzo della destinazione file non elaborato in un cicloUsing the Raw File Destination in a Loop

Se il flusso di dati che utilizza la destinazione file non elaborato si trova in un ciclo, può rivelarsi utile creare il file una sola volta e quindi accodare i dati al file quando il ciclo viene ripetuto.If the data flow that uses the Raw File destination is in a loop, you may want to create the file once and then append data to the file when the loop repeats. Per accodare i dati al file, è necessario che i dati accodati corrispondano al formato del file esistente.To append data to the file, the data that is appended must match the format of the existing file.

Per creare il file nella prima iterazione del ciclo e quindi accodare righe nelle iterazioni successive, è necessario eseguire le operazioni seguenti in fase di progettazione:To create the file in the first iteration of the loop, and then append rows in the subsequent iterations of the loop, you need to do the following at design time:

  1. Impostare la proprietà WriteOption su CreateOnce o CreateAlwaysed eseguire un'iterazione del ciclo.Set the WriteOption property to CreateOnce or CreateAlwaysand run one iteration of the loop. Il file viene creatoThe file is created. e viene garantita così la corrispondenza tra i metadati dei dati accodati e il file.This ensures that the metadata of appended data and the file matches.

  2. Reimpostare la proprietà WriteOption su Append e impostare la proprietà ValidateExternalMetadata su False.Reset the WriteOption property to Append and set the ValidateExternalMetadata property to False.

    Se si usa l'opzione TruncateAppend invece di Append , le righe aggiunte in qualsiasi iterazione precedente verranno troncate e quindi verranno accodate nuove righe.If you use the TruncateAppend option instead of the Append option, it will truncate rows that were added in any previous iteration, and then append new rows. Per usare l'opzione TruncateAppend , è anche necessario che i dati corrispondano al formato del file.Using the TruncateAppend option also requires that the data matches the file format.

Configurazione della destinazione file non elaboratoConfiguration of the Raw File Destination

È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

Nella finestra di dialogo Editor avanzato sono disponibili le proprietà che è possibile impostare a livello di codice.The Advanced Editor dialog box reflects the properties that can be set programmatically. Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor avanzato o a livello di codice, fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

Per informazioni su come impostare le proprietà del componente, vedere Impostazione delle proprietà di un componente flusso di dati.For information about how to set properties of the component, see Set the Properties of a Data Flow Component.

Post di blog sugli aspetti positivi dei file non elaboratinel sito Web sqlservercentral.com.Blog entry, Raw Files Are Awesome, on sqlservercentral.com.

Vedere ancheSee Also

Origine file non elaborato Raw File Source
Flusso di datiData Flow