Origine OLE DB

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

L'origine OLE DB consente di estrarre dati da un'ampia gamma di database relazionali conformi con OLE DB, tramite una tabella o vista di database oppure un comando SQL. L'origine OLE DB consente ad esempio di estrarre dati dalle tabelle nei database di Microsoft Office Access o 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 quattro diverse modalità di accesso ai dati per l'estrazione dei dati:

  • Vista o tabella.

  • Vista o tabella specificata in una variabile.

  • Risultato di un'istruzione SQL. La query può essere con parametri.

  • Risultato di un'istruzione SQL archiviata in una variabile.

Nota

Quando si utilizza un'istruzione SQL per richiamare una stored procedure che restituisce risultati da una tabella temporanea, utilizzare l'opzione WITH RESULT SETS per definire metadati per il set di risultati.

Se si utilizza una query con parametri, sarà possibile eseguire il mapping delle variabili ai parametri per specificare i valori dei singoli parametri nelle istruzioni SQL.

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

In un progetto di Integration Services viene inoltre fornito l'oggetto origine dati da cui è possibile creare una gestione connessione OLE DB, rendendo disponibili origini dati e relative viste all'origine OLE DB.

A seconda del provider OLE DB, l'origine OLE DB può presentare le limitazioni seguenti:

  • Il provider OLE DB Microsoft per Oracle non supporta i tipi di dati Oracle BLOB, CLOB, NCLOB, BFILE e UROWID e l'origine OLE DB non è in grado di estrarre dati da tabelle che contengono colonne con tali tipi di dati.

  • I provider IBM OLE DB per DB2 e Microsoft OLE DB per DB2 non supportano l'uso di comandi SQL che chiamano stored procedure. Quando viene utilizzato un comando di questo tipo l'origine OLE DB non è in grado di creare i metadati delle colonne e, di conseguenza, i dati delle colonne non sono disponibili per i componenti del flusso di dati che seguono l'origine OLE DB nel flusso di dati. Questo impedisce di completare l'esecuzione del flusso di dati.

L'origine OLE DB include un output regolare e un output degli errori.

Utilizzo di istruzioni SQL con parametri

Per l'estrazione dei dati l'origine OLE DB può utilizzare un'istruzione SQL, che può essere costituita da un'istruzione SELECT o EXEC.

L'origine OLE DB utilizza una gestione connessione OLE DB per connettersi all'origine dei dati da cui estrae i dati. A seconda del provider utilizzato dalla gestione connessione OLE DB e del sistema di gestione di database relazionali (RDBMS) a cui si connette la gestione connessione, verranno applicate regole diverse per la denominazione e l'elencazione dei parametri. Se i nomi dei parametri vengono restituiti dal sistema RDBMS, sarà possibile utilizzare nomi di parametro per eseguire il mapping dei parametri di un elenco di parametri a quelli inclusi in un'istruzione SQL. In caso contrario, sui parametri viene eseguito il mapping a quelli dell'istruzione SQL in base alla posizione ordinale nell'elenco dei parametri. I tipi di nomi di parametro supportati variano a seconda del provider. Alcuni provider richiedono ad esempio che vengano utilizzati i nomi delle variabili o delle colonne, mentre altri richiedono l'utilizzo di nomi simbolici, quali 0 o Param0. Per informazioni sui nomi di parametro da utilizzare nelle istruzioni SQL, vedere la documentazione specifica del provider.

Quando si utilizza una gestione connessione OLE DB, non è possibile utilizzare sottoquery con parametri, perché l'origine OLE DB non può derivare le informazioni sui parametri tramite il provider OLE DB. Tuttavia, è possibile usare un'espressione per concatenare i valori dei parametri nella stringa di query e impostare la proprietà SqlCommand dell'origine. In Progettazione SSIS, è possibile configurare un'origine OLE DB usando la finestra di dialogo Editor origine OLE DB ed eseguire il mapping dei parametri alle variabili nella finestra di dialogo Imposta parametri query.

Indicazione dei parametri tramite la posizione ordinale

Se non viene restituito alcun nome di parametro, gli indicatori di parametro a cui viene eseguito il mapping dei parametri in fase di esecuzione sono determinati dall'ordine in cui compaiono i parametri nell'elenco Parametri della finestra di dialogo Imposta parametri query . Viene eseguito il mapping del primo parametro dell'elenco al primo ? nell'istruzione SQL, il secondo al secondo? e così via.

L'istruzione SQL seguente seleziona righe dalla tabella ProductAdventureWorks2022 del database . Sul primo parametro nell'elenco Mapping viene eseguito il mapping al primo parametro nella colonna Color , mentre sul secondo parametro viene eseguito il mapping alla colonna Size .

SELECT * FROM Production.Product WHERE Color = ? AND Size = ?

I nomi di parametro sono ininfluenti. Se ad esempio un determinato parametro ha lo stesso nome della colonna a cui si riferisce, ma non compare nella posizione ordinale corretta nell'elenco Parameters , per il mapping dei parametri eseguito in fase di esecuzione verrà comunque usata la posizione ordinale del parametro e non il suo nome.

Per il comando EXEC, come nomi di parametro è in genere necessario utilizzare i nomi delle variabili che specificano i valori dei parametri nella procedura.

Indicazione dei parametri tramite i nomi

Se il sistema RDBMS restituisce i nomi effettivi dei parametri, sui parametri utilizzati dalle istruzioni SELECT ed EXEC verrà eseguito il mapping in base al nome. I nomi dei parametri devono essere quelli previsti dalla stored procedure eseguita dall'istruzione SELECT o EXEC.

L'istruzione SQL seguente esegue la stored procedure uspGetWhereUsedProductID disponibile nel database AdventureWorks2022 .

EXEC uspGetWhereUsedProductID ?, ?

La stored procedure prevede che i valori dei parametri vengano specificati dalle variabili @StartProductID e @CheckDate. L'ordine in cui i parametri sono visualizzati nell'elenco Mapping è irrilevante. L'unico requisito consiste nel fatto che i nomi dei parametri devono coincidere con quelli delle variabili nella stored procedure, incluso il simbolo @.

Mapping di parametri a variabili

Il mapping dei parametri alle variabili che ne specificano i valori avviene in fase di esecuzione. Sebbene in genere vengano usate variabili definite dall'utente, è possibile usare anche le variabili di sistema disponibili in Integration Services. Se si utilizzano variabili definite dall'utente, verificare che il tipo di dati impostato sia compatibile con quello della colonna a cui fa riferimento il parametro di cui viene eseguito il mapping. Per altre informazioni, vedere Variabili di Integration Services (SSIS).

Risoluzione dei problemi relativi all'origine OLE DB

È possibile registrare le chiamate eseguite dall'origine OLE DB a provider di dati esterni. Questa funzionalità di registrazione può essere utilizzata per risolvere i problemi relativi al caricamento di dati da origini esterne da parte dell'origine OLE DB. Per registrare le chiamate eseguite dall'origine OLE DB a provider di dati esterni, attivare la registrazione dei pacchetti e selezionare l'evento Diagnostic a livello del pacchetto. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione del pacchetto.

Configurazione dell'origine OLE DB

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

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:

SSIS con connettori Oracle

Editor origine OLE DB (pagina Gestione connessione)

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

Nota

Per caricare dati da un'origine dati basata su Microsoft Office Excel 2007, usare un'origine OLE DB. Non è possibile utilizzare un'origine Excel per caricare dati da un'origine dei dati Excel 2007. Per altre informazioni, vedere Configura gestione connessione OLE DB.

Per caricare dati da un'origine dati che usa Microsoft Office Excel 2003 o versione precedente, usare un'origine Excel. Per altre informazioni, vedere Editor origine Excel (pagina Gestione connessione).

Nota

La proprietà CommandTimeout dell'origine OLE DB non è disponibile nell' Editor origine OLE DB, tuttavia può essere impostata usando l' Editor avanzato. Per ulteriori informazioni su questa proprietà, vedere la sezione relativa all'origine Excel in Proprietà personalizzate OLE DB.

Aprire Editor origine OLE DB (pagina Gestione connessione)

  1. Aggiungere l'origine OLE DB al pacchetto di Integration Services, in SQL Server Data Tools (SSDT).

  2. Fare clic con il pulsante destro del mouse sul componente di origine, quindi scegliere Modifica.

  3. Fare clic su Gestione connessione.

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 per la selezione dei dati dall'origine.

Opzione Descrizione
Tabella o vista Consente di recuperare dati da una tabella o da una vista nell'origine dei dati 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
Comando SQL Consente di recuperare dati dall'origine dei dati OLE DB utilizzando una query SQL.
Comando SQL da variabile Consente di specificare il testo della query SQL in una variabile.

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

Nota

Quando vengono visualizzati i dati in anteprima, le colonne con tipo definito dall'utente CLR (UDT) non contengono dati. Vengono invece visualizzati i valori <dimensione valore eccessiva per la visualizzazione> o System.Byte[]. Il primo viene visualizzato se si accede all'origine dati mediante il provider SQL OLE DB, il secondo se si usa il provider SQL Server Native Client.

Opzioni dinamiche relative alla 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.

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 = 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.

Parametri
Se è stata immessa una query con parametri utilizzando ? come segnaposto per il parametro nel testo della query, usare la finestra di dialogo Imposta parametri query per eseguire il mapping tra i parametri di input della query e le variabili del pacchetto.

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.

Modalità di accesso ai dati = Comando SQL da variabile

Nome variabile
Consente di selezionare la variabile contenente il testo della query SQL.

Editor origine OLE DB (pagina Colonne)

Usare la pagina Colonne della finestra di dialogo Editor origine OLE DB per eseguire il mapping tra una colonna di output e ogni colonna esterna (di origine).

Opzioni

Colonne esterne disponibili
Consente di visualizzare l'elenco delle colonne esterne disponibili nell'origine dei dati. Non è possibile utilizzare questa tabella per l'aggiunta o l'eliminazione di colonne.

Colonna esterna
Consente di visualizzare le colonne esterne (di origine) nell'ordine in cui verranno presentate durante la configurazione di componenti che utilizzano i dati dell'origine. È possibile modificare l'ordine deselezionando innanzitutto le colonne della tabella selezionate e quindi selezionando dall'elenco le colonne esterne in un ordine diverso.

Colonna di output
Consente di specificare un nome univoco per ogni colonna di output. Per impostazione predefinita viene suggerito il nome della colonna esterna (di origine) selezionata. È comunque possibile scegliere qualsiasi nome descrittivo univoco. Il nome specificato verrà visualizzato in Progettazione SSIS.

Editor origine OLE DB (pagina Output degli errori)

Usare la pagina Output degli errori della finestra di dialogo Editor origine OLE DB per selezionare le opzioni di gestione degli errori e impostare le proprietà delle colonne di output degli errori.

Opzioni

Input/Output
Consente di visualizzare il nome dell'origine dei dati.

Istogramma
Consente di visualizzare le colonne esterne (origine) selezionate nella pagina Gestione connessione della finestra di dialogo Editor origine OLE DB.

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
Consente di specificare l'azione da eseguire in caso di troncamenti, ovvero ignorare l'errore, reindirizzare la riga o interrompere il componente.

Descrizione
Consente di visualizzare la descrizione dell'errore.

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.

Vedi anche

Destinazione OLE DB
Variabili di Integration Services (SSIS)
Flusso di dati