Destinazione OLE DBOLE DB Destination

La destinazione OLE DB consente di caricare dati in un'ampia gamma di database conformi con OLE DB, tramite una tabella o vista di database oppure un comando SQL.The OLE DB destination loads data into a variety of OLE DB-compliant databases using a database table or view or an SQL command. L'origine OLE DB, ad esempio, può caricare dati nelle tabelle dei database di MicrosoftMicrosoft Office Access e SQL ServerSQL Server .For example, the OLE DB source can load data into tables in MicrosoftMicrosoft Office Access and SQL ServerSQL Server databases.

Nota

Se l'origine dati è MicrosoftMicrosoft Office Excel 2007, è richiesta una gestione connessione diversa rispetto alle versioni precedenti di Excel.If the data source is MicrosoftMicrosoft Office Excel 2007, the data source requires a different connection manager than earlier versions of Excel. Per altre informazioni, vedere Connessione a una cartella di lavoro di Excel.For more information, see Connect to an Excel Workbook.

Sono disponibili cinque diverse modalità di accesso ai dati per il caricamento dei dati:The OLE DB destination provides five different data access modes for loading data:

  • Vista o tabella.A table or view. È possibile specificare una vista o tabella esistente o creare una nuova tabella.You can specify an existing table or view, or you create a new table.

  • Vista o tabella che utilizza opzioni per il caricamento rapido.A table or view using fast-load options. È possibile specificare una tabella esistente o creare una nuova tabella.You can specify an existing table or create a new table.

  • Vista o tabella specificata in una variabile.A table or view specified in a variable.

  • Vista o tabella specificata in una variabile che utilizza opzioni per il caricamento rapido.A table or view specified in a variable using fast-load options.

  • Risultato di un'istruzione SQL.The results of an SQL statement.

Nota

La destinazione OLE DB non supporta parametri.The OLE DB destination does not support parameters. Per eseguire un'istruzione INSERT con parametri, è possibile utilizzare la trasformazione Comando OLE DB.If you need to execute a parameterized INSERT statement, consider the OLE DB Command transformation. Per altre informazioni, vedere Trasformazione Comando OLE DB.For more information, see OLE DB Command Transformation.

Quando nella destinazione OLE DB vengono caricati dati che utilizzano un Double-Byte Character Set (DBCS), è possibile che tali dati vengano danneggiati se nella modalità di accesso non viene utilizzata l'opzione di caricamento rapido e la gestione connessione OLE DB utilizza il provider MicrosoftMicrosoft OLE DB per SQL ServerSQL Server (SQLOLEDB).When the OLE DB destination loads data that uses a double-byte character set (DBCS), the data may be corrupted if the data access mode does not use the fast load option and if the OLE DB connection manager uses the MicrosoftMicrosoft OLE DB Provider for SQL ServerSQL Server (SQLOLEDB). Per assicurare l'integrità dei dati DBCS è necessario configurare Gestione connessione OLE DB in modo da usare SQL ServerSQL Server Native Client o una delle modalità di accesso con caricamento rapido: Tabella o vista - Caricamento rapido o Variabile nome vista o nome tabella - Caricamento rapido.To ensure the integrity of DBCS data you should configure the OLE DB connection manager to use the SQL ServerSQL Server Native Client, or use one of the fast-load access modes: Table or view - fast load or Table name or view name variable - fast load. Entrambe le opzioni sono disponibili nella finestra di dialogo Editor destinazione OLE DB .Both options are available from the OLE DB Destination Editor dialog box. Durante la programmazione modello a oggetti di SSISSSIS, è necessario impostare la proprietà AccessMode su OpenRowset con FastLoad o OpenRowset con FastLoad da variabile.When programming the SSISSSIS object model, you should set the AccessMode property to OpenRowset Using FastLoad, or OpenRowset Using FastLoad From Variable.

Nota

Se si usa la finestra di dialogo Editor destinazione OLE DB SSISSSIS in Progettazione per creare la tabella di destinazione in cui la destinazione OLE DB inserisce i dati, sarà necessario selezionare la nuova tabella manualmente.If you use the OLE DB Destination Editor dialog box in SSISSSIS Designer to create the destination table into which the OLE DB destination inserts data, you may have to select the newly created table manually. È necessario eseguire la selezione manuale quando un provider OLE DB, ad esempio il provider Microsoft OLE DB per DB2, aggiunge automaticamente gli identificatori di schema al nome della tabella.The need for manual selection occurs when an OLE DB provider, such as the OLE DB provider for DB2, automatically adds schema identifiers to the table name.

Nota

In base al tipo di destinazione può essere necessario modificare l'istruzione CREATE TABLE generata dalla finestra di dialogo Editor destinazione OLE DB .The CREATE TABLE statement that the OLE DB Destination Editor dialog box generates may require modification depending on the destination type. Alcune destinazioni non supportano ad esempio i tipi di dati utilizzati dall'istruzione CREATE TABLE.For example, some destinations do not support the data types that the CREATE TABLE statement uses.

Per connettersi a un'origine dei dati questa destinazione utilizza una gestione connessione OLE DB, che specifica il provider OLE DB da utilizzare.This destination uses an OLE DB connection manager to connect to a data source and the connection manager specifies the OLE DB provider to use. Per altre informazioni, vedere Gestione connessione OLE DB.For more information, see OLE DB Connection Manager.

Con un progetto di Integration ServicesIntegration Services viene inoltre fornito l'oggetto di origine dati da cui è possibile creare una gestione connessione OLE DB, rendendo disponibili origini dati e viste origine dati alla destinazione OLE DB.An Integration ServicesIntegration Services project also provides the data source object from which you can create an OLE DB connection manager, to make data sources and data source views available to the OLE DB destination.

Una destinazione OLE DB include i mapping tra le colonne di input e quelle nell'origine dei dati della destinazione.An OLE DB destination includes mappings between input columns and columns in the destination data source. Non è necessario eseguire il mapping delle colonne di input a tutte le colonne di destinazione ma, a seconda delle proprietà delle colonne di destinazione, se alle colonne di destinazione non corrispondono colonne di input è possibile che vengano generati errori.You do not have to map input columns to all destination columns, but depending on the properties of the destination columns, errors can occur if no input columns are mapped to the destination columns. Se, ad esempio, una colonna di destinazione non ammette valori Null, sarà necessario eseguire il mapping di una colonna di input a tale colonna.For example, if a destination column does not allow null values, an input column must be mapped to that column. È inoltre necessario che i tipi di dati delle colonne di cui è stato eseguito il mapping siano compatibili.In addition, the data types of mapped columns must be compatible. Non è ad esempio possibile eseguire il mapping di una colonna di input con un tipo di dati string a una colonna di destinazione con un tipo di dati numeric.For example, you cannot map an input column with a string data type to a destination column with a numeric data type.

La destinazione OLE DB include un input regolare e un output degli errori.The OLE DB destination has one regular input and one error output.

Per altre informazioni sui tipi di dati, vedere Tipi di dati di Integration Services.For more information about data types, see Integration Services Data Types.

Opzioni per il caricamento rapidoFast Load Options

Se la destinazione OLE DB usa una modalità di accesso ai dati con caricamento rapido, nell'interfaccia utente della destinazione, ovvero in Editor destinazione OLE DB, sarà possibile specificare le opzioni di caricamento rapido seguenti:If the OLE DB destination uses a fast-load data access mode, you can specify the following fast load options in the user interface, OLE DB Destination Editor, for the destination:

  • È possibile mantenere i valori Identity del file di dati importato o utilizzare valori univoci assegnati da SQL ServerSQL Server.Keep identity values from the imported data file or use unique values assigned by SQL ServerSQL Server.

  • È possibile mantenere i valori Null durante le operazioni di caricamento bulk.Retain a null value during the bulk load operation.

  • È possibile controllare i vincoli sulla tabella o vista di destinazione durante le operazioni di importazione bulk.Check constraints on the target table or view during the bulk import operation.

  • È possibile acquisire un blocco a livello di tabella per la durata dell'operazione di caricamento bulk.Acquire a table-level lock for the duration of the bulk load operation.

  • È possibile specificare il numero di righe nel batch e le dimensioni del commit.Specify the number of rows in the batch and the commit size.

    Alcune opzioni di caricamento rapido sono archiviate in proprietà specifiche della destinazione OLE DB.Some fast load options are stored in specific properties of the OLE DB destination. Ad esempio, FastLoadKeepIdentity specifica se mantenere i valori Identity, FastLoadKeepNulls specifica se mantenere i valori Null e FastLoadMaxInsertCommitSize specifica il numero di righe di cui eseguire il commit come batch.For example, FastLoadKeepIdentity specifies whether to keep identify values, FastLoadKeepNulls specifies whether to keep null values, and FastLoadMaxInsertCommitSize specifies the number of rows to commit as a batch. Altre opzioni di caricamento rapido sono archiviate in un elenco con valori delimitati da virgole nella proprietà FastLoadOptions.Other fast load options are stored in a comma-separated list in the FastLoadOptions property. Se la destinazione OLE DB usa tutte le opzioni di caricamento rapido archiviate in FastLoadOptions ed elencate nella finestra di dialogo Editor destinazione OLE DB , il valore della proprietà verrà impostato su TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000.If the OLE DB destination uses all the fast load options that are stored in FastLoadOptions and listed in the OLE DB Destination Editor dialog box, the value of the property is set to TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000. Il valore 1000 indica che la destinazione è configurata per l'utilizzo di batch di 1000 righe.The value 1000 indicates that the destination is configured to use batches of 1000 rows.

Nota

Un eventuale esito negativo della verifica dei vincoli nella destinazione causa l'interruzione dell'intero batch di righe definito da FastLoadMaxInsertCommitSize.Any constraint failure at the destination causes the entire batch of rows defined by FastLoadMaxInsertCommitSize to fail.

Oltre alle opzioni di caricamento rapido elencate nella finestra di dialogo Editor destinazione OLE DB , è possibile configurare la destinazione OLE DB in modo da usare le opzioni per il caricamento bulk seguenti digitandole nella proprietà FastLoadOptions della finestra di dialogo Editor avanzato .In addition to the fast load options exposed in the OLE DB Destination Editor dialog box,you can configure the OLE DB destination to use the following bulk load options by typing the options in FastLoadOptions property in the Advanced Editor dialog box.

Opzione per il caricamento rapidoFast load option DescriptionDescription
KILOBYTES_PER_BATCHKILOBYTES_PER_BATCH Specifica le dimensioni in kilobyte del batch da inserire.Specifies the size in kilobytes to insert. L'opzione ha il formato KILOBYTES_PER_BATCH = <valore intero positivo>.The option has the form KILOBYTES_PER_BATCH = <positive integer value>.
FIRE_TRIGGERSFIRE_TRIGGERS Specifica se attivare o meno i trigger sulla tabella inserita.Specifies whether triggers fire on the insert table. La sintassi dell'opzione è FIRE_TRIGGERS.The option has the form FIRE_TRIGGERS. La presenza dell'opzione indica che i trigger vengono attivati.The presence of the option indicates that triggers fire.
ORDERORDER Specifica la modalità con ordinare i dati in input.Specifies how the input data is sorted. L'opzione ha il formato di ordine <nome colonna > ASC | DESC.The option has the form ORDER <column name> ASC|DESC. È possibile elencare qualsiasi numero di colonne e l'indicazione del tipo di ordinamento è facoltativa.Any number of columns may be listed and it is optional to include the sort order. Se il tipo di ordinamento viene omesso, l'operazione di inserimento verrà eseguita presupponendo che i dati non siano ordinati.If sort order is omitted, the insert operation assumes the data is unsorted.

Nota: è possibile migliorare le prestazioni usando l'opzione ORDER per ordinare i dati di input in base all'indice cluster nella tabella.Note: Performance can be improved if you use the ORDER option to sort the input data according to the clustered index on the table.

Anche se nelle parole chiave non viene rilevata la distinzione tra maiuscole e minuscole, le parole chiave Transact-SQLTransact-SQL vengono in genere digitate in maiuscolo.The Transact-SQLTransact-SQL keywords are traditionally typed using uppercase letters, but the keywords are not case sensitive.

Per sapere di più sulle opzioni di caricamento rapido, vedere BULK INSERT (Transact-SQL).To learn more about fast load options, see BULK INSERT (Transact-SQL).

Risoluzione dei problemi relativi alla destinazione OLE DBTroubleshooting the OLE DB Destination

È possibile registrare le chiamate eseguite dalla destinazione OLE DB a provider di dati esterni.You can log the calls that the OLE DB destination makes to external data providers. Questa funzionalità di registrazione può essere utilizzata per risolvere i problemi relativi al salvataggio di dati in origini dati esterne da parte della destinazione OLE DB.You can use this logging capability to troubleshoot the saving of data to external data sources that the OLE DB destination performs. Per registrare le chiamate eseguite dalla destinazione OLE DB a provider di dati esterni, attivare la registrazione dei pacchetti e selezionare l'evento Diagnostic a livello di pacchetto.To log the calls that the OLE DB destination makes to external data providers, enable package logging and select the Diagnostic event at the package level. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione del pacchetto.For more information, see Troubleshooting Tools for Package Execution.

Configurazione della destinazione OLE DBConfiguring the OLE DB Destination

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

Per altre informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor destinazione OLE DB , fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in the OLE DB Destination Editor dialog box, click one of the following topics:

Origine OLE DBOLE DB Source

Variabili di Integration Services (SSIS)Integration Services (SSIS) Variables

Flusso di datiData Flow