Origine OLE DBOLE DB Source

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.The OLE DB source extracts data from a variety of OLE DB-compliant relational databases by using a database table, a view, or an SQL command. L'origine OLE DB consente ad esempio di estrarre dati dalle tabelle nei database di MicrosoftMicrosoft Office Access o SQL ServerSQL Server .For example, the OLE DB source can extract data from tables in MicrosoftMicrosoft Office Access or 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 quattro diverse modalità di accesso ai dati per l'estrazione dei dati:The OLE DB source provides four different data access modes for extracting data:

  • Vista o tabella.A table or view.

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

  • Risultato di un'istruzione SQL.The results of an SQL statement. La query può essere con parametri.The query can be a parameterized query.

  • Risultato di un'istruzione SQL archiviata in una variabile.The results of an SQL statement stored in a variable.

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.When you use an SQL statement to invoke a stored procedure that returns results from a temporary table, use the WITH RESULT SETS option to define metadata for the result set.

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.If you use a parameterized query, you can map variables to parameters to specify the values for individual parameters in the SQL statements.

Per connettersi a un'origine dei dati questa origine utilizza una gestione connessione OLE DB, che specifica il provider OLE DB da utilizzare.This source 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.

In 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 relative viste all'origine OLE DB.An Integration ServicesIntegration Services project also provides the data source object from which you can create an OLE DB connection manager, making data sources and data source views available to the OLE DB source.

A seconda del provider OLE DB, l'origine OLE DB può presentare le limitazioni seguenti:Depending on the OLE DB provider, some limitations apply to the OLE DB source:

  • Il provider OLE DB MicrosoftMicrosoft 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.The MicrosoftMicrosoft OLE DB provider for Oracle does not support the Oracle data types BLOB, CLOB, NCLOB, BFILE, OR UROWID, and the OLE DB source cannot extract data from tables that contain columns with these data types.

  • I provider IBM OLE DB per DB2 e MicrosoftMicrosoft OLE DB per DB2 non supportano l'utilizzo di comandi SQL che chiamano stored procedure.The IBM OLE DB DB2 provider and MicrosoftMicrosoft OLE DB DB2 provider do not support using an SQL command that calls a 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.When this kind of command is used, the OLE DB source cannot create the column metadata and, as a result, the data flow components that follow the OLE DB source in the data flow have no column data available and the execution of the data flow fails.

    L'origine OLE DB include un output regolare e un output degli errori.The OLE DB source has one regular output and one error output.

Utilizzo di istruzioni SQL con parametriUsing Parameterized SQL Statements

Per l'estrazione dei dati l'origine OLE DB può utilizzare un'istruzione SQL,The OLE DB source can use an SQL statement to extract data. che può essere costituita da un'istruzione SELECT o EXEC.The statement can be a SELECT or an EXEC statement.

L'origine OLE DB utilizza una gestione connessione OLE DB per connettersi all'origine dei dati da cui estrae i dati.The OLE DB source uses an OLE DB connection manager to connect to the data source from which it extracts data. 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.Depending on the provider that the OLE DB connection manager uses and the Relational Database Management System (RDBMS) that the connection manager connects to, different rules apply to the naming and listing of parameters. 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.If the parameter names are returned from the RDBMS, you can use parameter names to map parameters in a parameter list to parameters in an SQL statement; otherwise, the parameters are mapped to the parameter in the SQL statement by their ordinal position in the parameter list. I tipi di nomi di parametro supportati variano a seconda del provider.The types of parameter names that are supported vary by 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.For example, some providers require that you use the variable or column names, whereas some providers require that you use symbolic names such as 0 or Param0. Per informazioni sui nomi di parametro da utilizzare nelle istruzioni SQL, vedere la documentazione specifica del provider.You should see the provider-specific documentation for information about the parameter names to use in SQL statements.

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.When you are use an OLE DB connection manager, you cannot use parameterized subqueries, because the OLE DB source cannot derive parameter information through the OLE DB provider. Tuttavia, è possibile usare un'espressione per concatenare i valori dei parametri nella stringa di query e impostare la proprietà SqlCommand dell'origine. In Progettazione SSISSSIS , è 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 .However, you can use an expression to concatenate the parameter values into the query string and to set the SqlCommand property of the source.In SSISSSIS Designer, you configure an OLE DB source by using the OLE DB Source Editor dialog box and map the parameters to variables in the Set Query Parameter dialog box.

Indicazione dei parametri tramite la posizione ordinaleSpecifying Parameters by Using Ordinal Positions

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 .If no parameter names are returned, the order in which the parameters are listed in the Parameters list in the Set Query Parameter dialog box governs which parameter marker they are mapped to at run time. Viene eseguito il mapping del primo parametro dell'elenco al primo ?The first parameter in the list maps to the first ? nell'istruzione SQL, il secondo al secondo? e così via.in the SQL statement, the second to the second ?, and so on.

L'istruzione SQL seguente seleziona righe dalla tabella Product AdventureWorks2012AdventureWorks2012 del database .The following SQL statement selects rows from the Product table in the AdventureWorks2012AdventureWorks2012 database. Sul primo parametro nell'elenco Mapping viene eseguito il mapping al primo parametro nella colonnaColor, mentre sul secondo parametro viene eseguito il mapping alla colonna Size.The first parameter in the Mappings list maps to the first parameter to the Color column, the second parameter to the Size column.

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

I nomi di parametro sono ininfluenti.The parameter names have no effect. 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.For example, if a parameter is named the same as the column to which it applies, but not put in the correct ordinal position in the Parameters list, the parameter mapping that occurs at run time will use the ordinal position of the parameter, not the parameter name.

Per il comando EXEC, come nomi di parametro è in genere necessario utilizzare i nomi delle variabili che specificano i valori dei parametri nella procedura.The EXEC command typically requires that you use the names of the variables that provide parameter values in the procedure as parameter names.

Indicazione dei parametri tramite i nomiSpecifying Parameters by Using Names

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.If the actual parameter names are returned from the RDBMS, the parameters used by a SELECT and EXEC statement are mapped by name. I nomi dei parametri devono essere quelli previsti dalla stored procedure eseguita dall'istruzione SELECT o EXEC.The parameter names must match the names that the stored procedure, run by the SELECT statement or the EXEC statement, expects.

L'istruzione SQL seguente esegue la stored procedure uspGetWhereUsedProductID disponibile nel database AdventureWorks2012AdventureWorks2012 .The following SQL statement runs the uspGetWhereUsedProductID stored procedure, available in the AdventureWorks2012AdventureWorks2012 database.

EXEC uspGetWhereUsedProductID ?, ?

La stored procedure prevede che i valori dei parametri vengano specificati dalle variabili @StartProductID e @CheckDate.The stored procedure expects the variables, @StartProductID and @CheckDate, to provide parameter values. L'ordine in cui i parametri sono visualizzati nell'elenco Mapping è irrilevante.The order in which the parameters appear in the Mappings list is irrelevant. L'unico requisito consiste nel fatto che i nomi dei parametri devono coincidere con quelli delle variabili nella stored procedure, incluso il simbolo @.The only requirement is that the parameter names match the variable names in the stored procedure, including the @ sign.

Mapping di parametri a variabiliMapping Parameters to Variables

Il mapping dei parametri alle variabili che ne specificano i valori avviene in fase di esecuzione.The parameters are mapped to variables that provide the parameter values at run time. Sebbene in genere vengano usate variabili definite dall'utente, è possibile usare anche le variabili di sistema disponibili in Integration ServicesIntegration Services .The variables are typically user-defined variables, although you can also use the system variables that Integration ServicesIntegration Services provides. 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.If you use user-defined variables, make sure that you set the data type to a type that is compatible with the data type of the column that the mapped parameter references. Per altre informazioni, vedere Variabili di Integration Services (SSIS).For more information, see Integration Services (SSIS) Variables.

Risoluzione dei problemi relativi all'origine OLE DBTroubleshooting the OLE DB Source

È possibile registrare le chiamate eseguite dall'origine OLE DB a provider di dati esterni.You can log the calls that the OLE DB source makes to external data providers. 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.You can use this logging capability to troubleshoot the loading of data from external data sources that the OLE DB source performs. 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.To log the calls that the OLE DB source 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 dell'origine OLE DBConfiguring the OLE DB Source

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

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:

Articolo di Wiki sui connettori SSIS con Oraclesul sito Web social.technet.microsoft.com.Wiki article, SSIS with Oracle Connectors, on social.technet.microsoft.com.

Editor origine OLE DB (pagina Gestione connessione)OLE DB Source Editor (Connection Manager Page)

Usare la pagina Gestione connessione della finestra di dialogo Editor origine OLE DB per selezionare la gestione connessione OLE DB per l'origine.Use the Connection Manager page of the OLE DB Source Editor dialog box to select the OLE DB connection manager for the source. Tramite questa pagina è inoltre possibile selezionare una tabella o una vista del database.This page also lets you select a table or view from the database.

Nota

Per caricare dati da un'origine dati basata su MicrosoftMicrosoft Office Excel 2007, usare un'origine OLE DB.To load data from a data source that uses MicrosoftMicrosoft Office Excel 2007, use an OLE DB source. Non è possibile utilizzare un'origine Excel per caricare dati da un'origine dei dati Excel 2007.You cannot use an Excel source to load data from an Excel 2007 data source. Per altre informazioni, vedere Configura gestione connessione OLE DB.For more information, see Configure OLE DB Connection Manager.

Per caricare dati da un'origine dei dati che utilizza MicrosoftMicrosoft Office Excel 2003 o versione precedente, utilizzare un'origine Excel.To load data from a data source that uses MicrosoftMicrosoft Office Excel 2003 or earlier, use an Excel source. Per altre informazioni, vedere Editor origine Excel (pagina Gestione connessione).For more information, see Excel Source Editor (Connection Manager Page).

Nota

La proprietà CommandTimeout dell'origine OLE DB non è disponibile nell'Editor origine OLE DB, tuttavia può essere impostata usando l'Editor avanzato.The CommandTimeout property of the OLE DB source is not available in the OLE DB Source Editor, but can be set by using the Advanced Editor. Per ulteriori informazioni su questa proprietà, vedere la sezione relativa all'origine Excel in Proprietà personalizzate OLE DB.For more information on this property, see the Excel Source section of OLE DB Custom Properties.

Aprire Editor origine OLE DB (pagina Gestione connessione)Open the OLE DB Source Editor (Connection Manager Page)

  1. Aggiungere l'origine OLE DB al pacchetto Integration ServicesIntegration Services in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).Add the OLE DB source to the Integration ServicesIntegration Services package, in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).

  2. Fare clic con il pulsante destro del mouse sul componente di origine, quindi scegliere Modifica.Right-click the source component and when click Edit.

  3. Fare clic su Gestione connessione.Click Connection Manager.

Opzioni staticheStatic Options

gestione connessione OLE DBOLE DB connection manager
Selezionare una gestione connessione esistente nell'elenco o crearne una nuova facendo clic su Nuova.Select an existing connection manager from the list, or create a new connection by clicking New.

NuovaNew
Consente di creare una nuova gestione connessione usando la finestra di dialogo Configura gestione connessione OLE DB .Create a new connection manager by using the Configure OLE DB Connection Manager dialog box.

Modalità di accesso ai datiData access mode
Consente di specificare il metodo per la selezione dei dati dall'origine.Specify the method for selecting data from the source.

OpzioneOption DescriptionDescription
Tabella o vistaTable or view Consente di recuperare dati da una tabella o da una vista nell'origine dei dati OLE DB.Retrieve data from a table or view in the OLE DB data source.
Variabile nome vista o nome tabellaTable name or view name variable Consente di specificare il nome della vista o della tabella in una variabile.Specify the table or view name in a variable.

Informazioni correlate: Utilizzo di variabili nei pacchettiRelated information: Use Variables in Packages
Comando SQLSQL command Consente di recuperare dati dall'origine dei dati OLE DB utilizzando una query SQL.Retrieve data from the OLE DB data source by using a SQL query.
Comando SQL da variabileSQL command from variable Consente di specificare il testo della query SQL in una variabile.Specify the SQL query text in a variable.

AnteprimaPreview
Consente di visualizzare in anteprima i risultati nella finestra di dialogo Vista dati .Preview results by using the Data View dialog box. L'anteprima supporta la visualizzazione di un massimo di 200 righe.Preview can display up to 200 rows.

Nota

Quando vengono visualizzati i dati in anteprima, le colonne con tipo definito dall'utente CLR (UDT) non contengono dati.When you preview data, columns with a CLR user-defined type do not contain data. Vengono invece visualizzati i valori <dimensione valore eccessiva per la visualizzazione> o System.Byte[].Instead the values <value too big to display> or System.Byte[] display. Il primo viene visualizzato se si accede all'origine dati mediante il provider SQL OLE DB, il secondo se si usa il provider SQL ServerSQL Server Native Client.The former displays when the data source is accessed using the SQL OLE DB provider, the latter when using the SQL ServerSQL Server Native Client provider.

Opzioni dinamiche relative alla modalità di accesso ai datiData Access Mode Dynamic Options

Modalità di accesso ai dati = Tabella o vistaData access mode = Table or view

Nome tabella o vistaName of the table or the view
Consente di selezionare il nome della tabella o della vista nell'elenco dei nomi disponibili nell'origine dei dati.Select the name of the table or view from a list of those available in the data source.

Modalità di accesso ai dati = Variabile nome vista o nome tabellaData access mode = Table name or view name variable

Nome variabileVariable name
Consente di selezionare la variabile che contiene il nome della tabella o vista.Select the variable that contains the name of the table or view.

Modalità di accesso ai dati = Comando SQLData access mode = SQL command

Testo comando SQLSQL command text
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.Enter the text of a SQL query, build the query by clicking Build Query, or locate the file that contains the query text by clicking Browse.

ParametriParameters
Se è stata immessa una query con parametri utilizzando ?If you have entered a parameterized query by using ? 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.as a parameter placeholder in the query text, use the Set Query Parameters dialog box to map query input parameters to package variables.

Build queryBuild query
Usare la finestra di dialogo Generatore query per creare la query SQL con strumenti grafici.Use the Query Builder dialog box to construct the SQL query visually.

SfogliaBrowse
Usare la finestra di dialogo Apri per individuare il file contenente il testo della query SQL.Use the Open dialog box to locate the file that contains the text of the SQL query.

Analizza queryParse query
Consente di verificare la sintassi del testo della query.Verify the syntax of the query text.

Modalità di accesso ai dati = Comando SQL da variabileData access mode = SQL command from variable

Nome variabileVariable name
Consente di selezionare la variabile contenente il testo della query SQL.Select the variable that contains the text of the SQL query.

Editor origine OLE DB (pagina Colonne)OLE DB Source Editor (Columns Page)

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).Use the Columns page of the OLE DB Source Editor dialog box to map an output column to each external (source) column.

OpzioniOptions

Colonne esterne disponibiliAvailable External Columns
Consente di visualizzare l'elenco delle colonne esterne disponibili nell'origine dei dati.View the list of available external columns in the data source. Non è possibile utilizzare questa tabella per l'aggiunta o l'eliminazione di colonne.You cannot use this table to add or delete columns.

Colonna esternaExternal Column
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.View external (source) columns in the order in which you will see them when configuring components that consume data from this source. È possibile modificare l'ordine deselezionando innanzitutto le colonne della tabella selezionate e quindi selezionando dall'elenco le colonne esterne in un ordine diverso.You can change this order by first clearing the selected columns in the table, and then selecting external columns from the list in a different order.

Colonna di outputOutput Column
Consente di specificare un nome univoco per ogni colonna di output.Provide a unique name for each output column. Per impostazione predefinita viene suggerito il nome della colonna esterna (di origine) selezionata. È comunque possibile scegliere qualsiasi nome descrittivo univoco.The default is the name of the selected external (source) column; however, you can choose any unique, descriptive name. Il nome specificato verrà visualizzato in Progettazione SSIS.The name provided will be displayed within the SSIS Designer.

Editor origine OLE DB (pagina Output degli errori)OLE DB Source Editor (Error Output Page)

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.Use the Error Output page of the OLE DB Source Editor dialog box to select error handling options and to set properties on error output columns.

OpzioniOptions

Input/OutputInput/Output
Consente di visualizzare il nome dell'origine dei dati.View the name of the data source.

ColonnaColumn
Consente di visualizzare le colonne esterne (origine) selezionate nella pagina Gestione connessione della finestra di dialogo Editor origine OLE DB.View the external (source) columns that you selected on the Connection Manager page of the OLE DB Source Editordialog box.

ErroreError
Consente di specificare l'azione da eseguire in caso di errori, ovvero ignorare l'errore, reindirizzare la riga o interrompere il componente.Specify what should happen when an error occurs: ignore the failure, redirect the row, or fail the component.

Argomenti correlati: Gestione degli errori nei datiRelated Topics: Error Handling in Data

TroncamentoTruncation
Consente di specificare l'azione da eseguire in caso di troncamenti, ovvero ignorare l'errore, reindirizzare la riga o interrompere il componente.Specify what should happen when a truncation occurs: ignore the failure, redirect the row, or fail the component.

DescriptionDescription
Consente di visualizzare la descrizione dell'errore.View the description of the error.

Imposta questo valore nelle celle selezionateSet this value to selected cells
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.Specify what should happen to all the selected cells when an error or truncation occurs: ignore the failure, redirect the row, or fail the component.

ApplicaApply
Consente di applicare l'opzione di gestione degli errori alle celle selezionate.Apply the error handling option to the selected cells.

Vedere ancheSee Also

Destinazione OLE DB OLE DB Destination
Variabili di Integration Services (SSIS) Integration Services (SSIS) Variables
Flusso di datiData Flow