Destinazione OLE DB

Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory

La destinazione OLE DB carica i dati in un'ampia gamma di database conformi a OLE DB usando una tabella o una vista di database o un comando SQL. L'origine OLE DB, ad esempio, può caricare dati nelle tabelle dei database di Microsoft Office Access e SQL Server.

Nota

Se l'origine dati è Microsoft Office Excel 2007, è richiesta una gestione connessione diversa rispetto alle versioni precedenti di Excel. Per altre informazioni, vedere Connessione a una cartella di lavoro di Excel.

Sono disponibili cinque diverse modalità di accesso ai dati per il caricamento dei dati:

  • Vista o tabella. È possibile specificare una vista o tabella esistente o creare una nuova tabella.

  • Vista o tabella che utilizza opzioni per il caricamento rapido. È possibile specificare una tabella esistente o creare una nuova tabella.

  • Vista o tabella specificata in una variabile.

  • Vista o tabella specificata in una variabile che utilizza opzioni per il caricamento rapido.

  • Risultati di un'istruzione SQL.

Nota

La destinazione OLE DB non supporta parametri. Per eseguire un'istruzione INSERT con parametri, è possibile utilizzare la trasformazione Comando OLE DB. Per altre informazioni, vedere Trasformazione Comando OLE DB.

Quando nella destinazione OLE DB vengono caricati dati che usano un Double-Byte Character Set (DBCS), è possibile che tali dati vengano danneggiati se nella modalità di accesso non viene usata l'opzione di caricamento rapido e la gestione connessione OLE DB usa Provider Microsoft OLE DB per SQL Server (SQLOLEDB). Per assicurare l'integrità dei dati DBCS è necessario configurare Gestione connessione OLE DB in modo da usare SQL 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. Entrambe le opzioni sono disponibili nella finestra di dialogo Editor destinazione OLE DB . Durante la programmazione modello a oggetti di SSIS, è necessario impostare la proprietà AccessMode su OpenRowset Using FastLoad o OpenRowset Using FastLoad From Variable.

Nota

Se si usa la finestra di dialogo Editor destinazione OLE DB in Progettazione SSIS per creare la tabella di destinazione in cui la destinazione OLE DB inserisce i dati, sarà necessario selezionare la nuova tabella manualmente. È 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.

Nota

In base al tipo di destinazione può essere necessario modificare l'istruzione CREATE TABLE generata dalla finestra di dialogo Editor destinazione OLE DB . Alcune destinazioni non supportano ad esempio i tipi di dati utilizzati dall'istruzione CREATE TABLE.

Per connettersi a un'origine dei dati questa destinazione utilizza una gestione connessione OLE DB, che specifica il provider OLE DB da utilizzare. Per altre informazioni, vedere Gestione connessione OLE DB.

Con un progetto di Integration 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.

Una destinazione OLE DB include i mapping tra le colonne di input e quelle nell'origine dei dati della destinazione. 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. Se, ad esempio, una colonna di destinazione non ammette valori Null, sarà necessario eseguire il mapping di una colonna di input a tale colonna. È inoltre necessario che i tipi di dati delle colonne di cui è stato eseguito il mapping siano compatibili. 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.

La destinazione OLE DB include un input regolare e un output degli errori.

Per altre informazioni sui tipi di dati, vedere Tipi di dati di Integration Services.

Opzioni per il caricamento rapido

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:

  • È possibile mantenere i valori Identity del file di dati importato o utilizzare valori univoci assegnati da SQL Server.

  • È possibile mantenere i valori Null durante le operazioni di caricamento bulk.

  • È possibile controllare i vincoli sulla tabella o vista di destinazione durante le operazioni di importazione bulk.

  • È possibile acquisire un blocco a livello di tabella per la durata dell'operazione di caricamento bulk.

  • È possibile specificare il numero di righe nel batch e le dimensioni del commit.

Alcune opzioni di caricamento rapido sono archiviate in proprietà specifiche della destinazione OLE DB. 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. Altre opzioni di caricamento rapido sono archiviate in un elenco con valori delimitati da virgole nella proprietà FastLoadOptions. 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. Il valore 1000 indica che la destinazione è configurata per l'utilizzo di batch di 1000 righe.

Nota

Un eventuale esito negativo della verifica dei vincoli nella destinazione causa l'interruzione dell'intero batch di righe definito da FastLoadMaxInsertCommitSize.

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 .

Opzione per il caricamento rapido Descrizione
KILOBYTES_PER_BATCH Specifica le dimensioni in kilobyte del batch da inserire. La sintassi dell'opzione è KILOBYTES_PER_BATCH = <valore intero positivo>.
FIRE_TRIGGERS Specifica se attivare o meno i trigger sulla tabella inserita. La sintassi dell'opzione è FIRE_TRIGGERS. La presenza dell'opzione indica che i trigger vengono attivati.
ORDER Specifica la modalità con ordinare i dati in input. La sintassi dell'opzione è ORDER <nome colonna> ASC|DESC. È possibile elencare qualsiasi numero di colonne e l'indicazione del tipo di ordinamento è facoltativa. Se il tipo di ordinamento viene omesso, l'operazione di inserimento verrà eseguita presupponendo che i dati non siano ordinati.

Nota: è possibile migliorare le prestazioni usando l'opzione ORDER per ordinare i dati di input in base all'indice cluster nella tabella.

Anche se nelle parole chiave non viene rilevata la distinzione tra maiuscole e minuscole, le parole chiave Transact-SQL vengono in genere digitate in maiuscolo.

Per sapere di più sulle opzioni di caricamento rapido, vedere BULK INSERT (Transact-SQL).

Risoluzione dei problemi relativi alla destinazione OLE DB

È possibile registrare le chiamate eseguite dalla destinazione OLE DB a provider di dati esterni. 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. 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. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione del pacchetto.

Configurazione della destinazione OLE DB

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di codice.

Nella finestra di dialogo Editor avanzato sono disponibili le proprietà che è possibile impostare a livello di codice. 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:

Per ulteriori informazioni sulle procedure per l'impostazione delle proprietà, fare clic su uno degli argomenti seguenti:

Editor destinazione OLE DB (pagina Gestione connessione)

Usare la pagina Gestione connessione della finestra di dialogo Editor destinazione OLE DB per selezionare la connessione OLE DB per la destinazione. Tramite questa pagina è inoltre possibile selezionare una tabella o una vista del database.

Nota

Se l'origine dati è Microsoft Office Excel 2007, è richiesta una gestione connessione diversa rispetto alle versioni precedenti di Excel. Per altre informazioni, vedere Connessione a una cartella di lavoro di Excel.

Nota

La proprietà CommandTimeout della destinazione OLE DB non è disponibile nell' Editor destinazione OLE DB, tuttavia può essere impostata usando l' Editor avanzato. Inoltre alcune opzioni di caricamento rapido sono disponibili solo nell' Editor avanzato. Per altre informazioni su queste proprietà, vedere la sezione relativa alla destinazione OLE DB in Proprietà personalizzate OLE DB.

La proprietà CommandTimeout ha effetto solo quando la modalità di accesso ai dati è un comando SQL.

Opzioni statiche

Gestione connessione OLE DB
Selezionare una gestione connessione esistente nell'elenco o crearne una nuova facendo clic su Nuova.

New
Consente di creare una nuova gestione connessione usando la finestra di dialogo Configura gestione connessione OLE DB .

Modalità di accesso ai dati
Consente di specificare il metodo di caricamento dei dati nella destinazione. Per i dati DBCS (Double-Byte Character Set) è necessario utilizzare una delle opzioni di caricamento rapido. Per altre informazioni sulle modalità di accesso ai dati con caricamento rapido, ottimizzate per gli inserimenti bulk, vedere Destinazione OLE DB.

Opzione Descrizione
Tabella o vista Consente di caricare i dati in una tabella o vista nella destinazione OLE DB.
Tabella o vista - Caricamento rapido Consente di caricare i dati in una tabella o vista nella destinazione OLE DB e di utilizzare l'opzione di caricamento rapido. Per altre informazioni sulle modalità di accesso ai dati con caricamento rapido, ottimizzate per gli inserimenti bulk, vedere Destinazione OLE DB.
Variabile nome vista o nome tabella Consente di specificare il nome della vista o della tabella in una variabile.

Informazioni correlate: Utilizzo di variabili nei pacchetti
Variabile nome vista o nome tabella - Caricamento rapido Consente di specificare il nome della vista o della tabella in una variabile e di caricare i dati utilizzando l'opzione di caricamento rapido. Per altre informazioni sulle modalità di accesso ai dati con caricamento rapido, ottimizzate per gli inserimenti bulk, vedere Destinazione OLE DB.
Comando SQL Consente di caricare i dati nella destinazione OLE DB utilizzando una query SQL.

Anteprima
Consente di visualizzare in anteprima i risultati nella finestra di dialogo Anteprima risultati query . L'anteprima supporta la visualizzazione di un massimo di 200 righe.

Opzioni dinamiche relative alla modalità di accesso ai dati

Ogni impostazione di Modalità di accesso ai dati consente di visualizzare un set dinamico di opzioni specifico di tale impostazione. Le sezioni seguenti descrivono ogni opzione dinamica disponibile per ogni impostazione Modalità di accesso ai dati .

Modalità di accesso ai dati = Tabella o vista

Nome tabella o vista
Consente di selezionare il nome della tabella o della vista nell'elenco dei nomi disponibili nell'origine dei dati.

New
Consente di creare una nuova tabella usando la finestra di dialogo Crea tabella .

Nota

Quando si fa clic su Nuova, Integration Services genera un'istruzione CREATE TABLE predefinita basata sull'origine dati connessa. Questa istruzione CREATE TABLE predefinita non includerà l'attributo FILESTREAM anche se la tabella di origine include una colonna con l'attributo FILESTREAM dichiarato. Per eseguire un componente Integration Services con l'attributo FILESTREAM, implementare innanzitutto l'archiviazione di FILESTREAM nel database di destinazione. Aggiungere quindi l'attributo FILESTREAM all'istruzione CREATE TABLE nella finestra di dialogo Crea tabella . Per altre informazioni, vedere Dati BLOB (Binary Large Object) (SQL Server).

Modalità di accesso ai dati = Tabella o vista - Caricamento rapido

Nome tabella o vista
Consente di selezionare una tabella o vista del database nell'elenco o di creare una nuova tabella facendo clic su Nuova.

New
Consente di creare una nuova tabella usando la finestra di dialogo Crea tabella .

Nota

Quando si fa clic su Nuova, Integration Services genera un'istruzione CREATE TABLE predefinita basata sull'origine dati connessa. Questa istruzione CREATE TABLE predefinita non includerà l'attributo FILESTREAM anche se la tabella di origine include una colonna con l'attributo FILESTREAM dichiarato. Per eseguire un componente Integration Services con l'attributo FILESTREAM, implementare innanzitutto l'archiviazione di FILESTREAM nel database di destinazione. Aggiungere quindi l'attributo FILESTREAM all'istruzione CREATE TABLE nella finestra di dialogo Crea tabella . Per altre informazioni, vedere Dati BLOB (Binary Large Object) (SQL Server).

Mantieni valori Identity
Consente di specificare se copiare i valori Identity durante il caricamento dei dati. Questa proprietà è disponibile solo con l'opzione di caricamento rapido. Il valore predefinito della proprietà è false.

Mantieni valori Null
Consente di specificare che vengano copiati i valori Null durante il caricamento dei dati. Questa proprietà è disponibile solo con l'opzione di caricamento rapido. Il valore predefinito della proprietà è false.

Blocco a livello di tabella
Consente di specificare che la tabella venga bloccata durante il caricamento. Il valore predefinito di questa proprietà è true.

Controlla vincoli
Consente di specificare se la destinazione esegue la verifica dei vincoli durante il caricamento dei dati. Il valore predefinito di questa proprietà è true.

Righe per batch
Consente di specificare il numero di righe di un batch. Il valore predefinito di questa proprietà è -1, che indica che non è stato assegnato alcun valore.

Nota

Cancellare il contenuto della casella di testo in Editor destinazione OLE DB per indicare che non si intende assegnare alcun valore personalizzato alla proprietà.

Dimensioni massime commit inserimento
Consente di specificare le dimensioni del batch per le quali la destinazione OLE DB tenta di eseguire il commit durante le operazioni di caricamento rapido. Il valore 0 indica che viene eseguito il commit di tutti i dati in un singolo batch dopo che tutte le righe sono state elaborate.

Nota

Un valore di 0 potrebbe provocare il blocco del pacchetto in esecuzione se la destinazione OLE DB e un altro componente flusso di dati aggiornano la stessa tabella di origine. Per impedire l'arresto del pacchetto, impostare l'opzione Dimensioni massime commit inserimento su 2147483647.

Se si specifica un valore per questa proprietà, la destinazione esegue il commit delle righe nei batch le cui dimensioni sono inferiori (a) al valore specificato in Dimensioni massime commit inserimentoo (b) alle righe restanti nel buffer attualmente in fase di elaborazione.

Nota

Un eventuale esito negativo della verifica dei vincoli nella destinazione causa l'interruzione dell'intero batch di righe definito da Dimensioni massime commit inserimento .

Modalità di accesso ai dati = Variabile nome vista o nome tabella

Nome variabile
Consente di selezionare la variabile che contiene il nome della tabella o vista.

Modalità di accesso ai dati = Variabile nome vista o nome tabella - Caricamento rapido

Nome variabile
Consente di selezionare la variabile che contiene il nome della tabella o vista.

New
Consente di creare una nuova tabella usando la finestra di dialogo Crea tabella .

Nota

Quando si fa clic su Nuova, Integration Services genera un'istruzione CREATE TABLE predefinita basata sull'origine dati connessa. Questa istruzione CREATE TABLE predefinita non includerà l'attributo FILESTREAM anche se la tabella di origine include una colonna con l'attributo FILESTREAM dichiarato. Per eseguire un componente Integration Services con l'attributo FILESTREAM, implementare innanzitutto l'archiviazione di FILESTREAM nel database di destinazione. Aggiungere quindi l'attributo FILESTREAM all'istruzione CREATE TABLE nella finestra di dialogo Crea tabella . Per altre informazioni, vedere Dati BLOB (Binary Large Object) (SQL Server).

Mantieni valori Identity
Consente di specificare se copiare i valori Identity durante il caricamento dei dati. Questa proprietà è disponibile solo con l'opzione di caricamento rapido. Il valore predefinito della proprietà è false.

Mantieni valori Null
Consente di specificare che vengano copiati i valori Null durante il caricamento dei dati. Questa proprietà è disponibile solo con l'opzione di caricamento rapido. Il valore predefinito della proprietà è false.

Blocco a livello di tabella
Consente di specificare che la tabella venga bloccata durante il caricamento. Il valore predefinito della proprietà è false.

Controlla vincoli
Consente di specificare se l'attività esegue la verifica dei vincoli. Il valore predefinito della proprietà è false.

Righe per batch
Consente di specificare il numero di righe di un batch. Il valore predefinito di questa proprietà è -1, che indica che non è stato assegnato alcun valore.

Nota

Cancellare il contenuto della casella di testo in Editor destinazione OLE DB per indicare che non si intende assegnare alcun valore personalizzato alla proprietà.

Dimensioni massime commit inserimento
Consente di specificare le dimensioni del batch per le quali la destinazione OLE DB tenta di eseguire il commit durante le operazioni di caricamento rapido. Il valore predefinito di 2147483647 indica che viene eseguito il commit di tutti i dati in un singolo batch dopo che tutte le righe sono state elaborate.

Nota

Un valore di 0 potrebbe provocare il blocco del pacchetto in esecuzione se la destinazione OLE DB e un altro componente flusso di dati aggiornano la stessa tabella di origine. Per impedire l'arresto del pacchetto, impostare l'opzione Dimensioni massime commit inserimento su 2147483647.

Modalità di accesso ai dati = Comando SQL

Testo comando SQL
Immettere il testo di una query SQL, fare clic su Compila queryper compilare la query o fare clic su Sfogliaper individuare il file che contiene il testo della query.

Nota

La destinazione OLE DB non supporta parametri. Per eseguire un'istruzione INSERT con parametri, è possibile utilizzare la trasformazione Comando OLE DB. Per altre informazioni, vedere Trasformazione Comando OLE DB.

Compila query
Usare la finestra di dialogo Generatore query per creare la query SQL con strumenti grafici visuali.

Sfoglia
Usare la finestra di dialogo Apri per individuare il file contenente il testo della query SQL.

Analizza query
Consente di verificare la sintassi del testo della query.

Editor destinazione OLE DB (pagina Mapping)

Utilizzare la pagina Mapping della finestra di dialogo Editor destinazione OLE DB per eseguire il mapping tra le colonne di input e quelle di destinazione.

Opzioni

Colonne di input disponibili
Consente di visualizzare l'elenco delle colonne di input disponibili. Eseguire un'operazione di trascinamento della selezione per impostare il mapping tra le colonne di input disponibili nella tabella e le colonne di destinazione.

Colonne di destinazione disponibili
Consente di visualizzare l'elenco delle colonne di destinazione disponibili. Eseguire un'operazione di trascinamento della selezione per impostare il mapping tra le colonne di destinazione disponibili nella tabella e le colonne di input.

Colonna di input
Consente di visualizzare le colonne di input selezionate dall'utente. È possibile rimuovere i mapping selezionando < ignora > per escludere colonne dall'output.

Colonna di destinazione
Consente di visualizzare ogni colonna di destinazione disponibile, indipendentemente dal fatto che sia mappata o meno.

Editor destinazione OLE DB (pagina Output degli errori)

Usare la pagina Output degli errori della finestra di dialogo Editor destinazione OLE DB per specificare le opzioni di gestione degli errori.

Opzioni

Input/Output
Consente di visualizzare il nome dell'input.

Istogramma
Non utilizzato.

Errore
Consente di specificare l'azione da eseguire in caso di errori, ovvero ignorare l'errore, reindirizzare la riga o interrompere il componente.

Argomenti correlati: Gestione degli errori nei dati

Troncamento
Non utilizzato.

Descrizione
Consente di visualizzare la descrizione dell'operazione.

Imposta questo valore nelle celle selezionate
Consente di specificare l'azione che dovrà interessare tutte le celle selezionate in caso di errore o troncamento: ignorare l'errore, reindirizzare la riga o interrompere il componente.

Applica
Consente di applicare l'opzione di gestione degli errori alle celle selezionate.

Origine OLE DB

Variabili di Integration Services (SSIS)

Flusso di dati