Comando OLE DB - trasformazioneOLE DB Command Transformation

La trasformazione Comando OLE DB esegue un'istruzione SQL per ogni riga in un flusso di dati.The OLE DB Command transformation runs an SQL statement for each row in a data flow. È ad esempio possibile eseguire un'istruzione SQL che inserisce, aggiorna o elimina righe in una tabella di database.For example, you can run an SQL statement that inserts, updates, or deletes rows in a database table.

Per configurare la trasformazione comando OLE DB, procedere nel modo seguente:You can configure the OLE DB Command Transformation in the following ways:

  • Specificare l'istruzione SQL eseguita dalla trasformazione per ogni riga.Provide the SQL statement that the transformation runs for each row.

  • Specificare il numero di secondi prima del timeout dell'istruzione SQL.Specify the number of seconds before the SQL statement times out.

  • Specificare la tabella codici predefinita.Specify the default code page.

    In genere l'istruzione SQL include parametri.Typically, the SQL statement includes parameters. I valori dei parametri vengono archiviati in colonne esterne nell'input della trasformazione e, se si esegue il mapping di una colonna di input a una colonna esterna, verrà eseguito il mapping di una colonna di input a un parametro.The parameter values are stored in external columns in the transformation input, and mapping an input column to an external column maps an input column to a parameter. Per individuare ad esempio le righe della tabella DimProduct in base al valore nella relativa colonna ProductKey ed eliminarle, è possibile eseguire il mapping della colonna esterna con il nome Param_0 alla colonna di input con il nome ProductKey, , quindi eseguire l'istruzione SQL DELETE FROM DimProduct WHERE ProductKey = ?.For example, to locate rows in the DimProduct table by the value in their ProductKey column and then delete them, you can map the external column named Param_0 to the input column named ProductKey, and then run the SQL statement DELETE FROM DimProduct WHERE ProductKey = ?.. I nomi dei parametri sono specificati dalla trasformazione Comando OLE DB e non possono essere modificati.The OLE DB Command transformation provides the parameter names and you cannot modify them. I nomi dei parametri sono Param_0, Param_1e così via.The parameter names are Param_0, Param_1, and so on.

    Se si configura la trasformazione Comando OLE DB tramite la finestra di dialogo Editor avanzato , sarà possibile eseguire automaticamente il mapping dei parametri dell'istruzione SQL alle colonne esterne nell'input della trasformazione e definire le caratteristiche di ogni parametro facendo clic sul pulsante Aggiorna .If you configure the OLE DB Command transformation by using the Advanced Editor dialog box, the parameters in the SQL statement may be mapped automatically to external columns in the transformation input, and the characteristics of each parameter defined, by clicking the Refresh button. Se tuttavia il provider OLE DB utilizzato dalla trasformazione Comando OLE DB non supporta la derivazione di informazioni sui parametri dai parametri, sarà necessario configurare le colonne esterne manualmente.However, if the OLE DB provider that the OLE DB Command transformation uses does not support deriving parameter information from the parameter, you must configure the external columns manually. Questo significa che è necessario aggiungere una colonna per ogni parametro all'input esterno della trasformazione, aggiornare i nomi delle colonne in modo da usare nomi quale Param_0, specificare il valore della proprietà DBParamInfoFlags ed eseguire il mapping delle colonne di input contenenti i valori dei parametri alle colonne esterne.This means that you must add a column for each parameter to the external input to the transformation, update the column names to use names like Param_0, specify the value of the DBParamInfoFlags property, and map the input columns that contain parameter values to the external columns.

    Il valore di DBParamInfoFlags rappresenta le caratteristiche del parametro.The value of DBParamInfoFlags represents the characteristics of the parameter. Il valore 1 , ad esempio, specifica che si tratta di un parametro di input, mentre il valore 65 specifica che si tratta di un parametro di input che può contenere un valore Null.For example, the value 1 specifies that the parameter is an input parameter, and the value 65 specifies that the parameter is an input parameter and may contain a null value. I valori devono corrispondere a quelli nell'enumerazione OLE DB DBPARAMFLAGSENUM.The values must match the values in the OLE DB DBPARAMFLAGSENUM enumeration. Per ulteriori informazioni, vedere la documentazione di riferimento di OLE DB.For more information, see the OLE DB reference documentation.

    La trasformazione Comando OLE DB include la proprietà personalizzata SQLCommand ,The OLE DB Command transformation includes the SQLCommand custom property. che può essere aggiornata da un'espressione di proprietà al caricamento del pacchetto.This property can be updated by a property expression when the package is loaded. Per altre informazioni, vedere Espressioni di Integration Services (SSIS), Utilizzo delle espressioni di proprietà nei pacchetti e Proprietà personalizzate delle trasformazioni.For more information, see Integration Services (SSIS) Expressions, Use Property Expressions in Packages, and Transformation Custom Properties.

    Questa trasformazione include un input, un output regolare e un output degli errori.This transformation has one input, one regular output, and one error output.

RegistrazioneLogging

È possibile registrare le chiamate eseguite dalla trasformazione Comando OLE DB a provider di dati esterni.You can log the calls that the OLE DB Command transformation makes to external data providers. Questa nuova funzionalità di registrazione può essere utilizzata per risolvere i problemi relativi alle connessioni e ai comandi a origini dati esterne impartiti dalla trasformazione Comando OLE DB.You can use this logging capability to troubleshoot the connections and commands to external data sources that the OLE DB Command transformation performs. Per registrare le chiamate eseguite dalla trasformazione Comando OLE DB a provider di dati esterni, abilitare la registrazione dei pacchetti e selezionare l'evento Diagnostic a livello del pacchetto.To log the calls that the OLE DB Command transformation 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.

È possibile configurare la trasformazione utilizzando Progettazione SSISSSIS o il modello a oggetti.You can configure the transformation by either using the SSISSSIS Designer or the object model. Per informazioni dettagliate sulla configurazione della trasformazione usando Progettazione SSISSSIS , vedere Configurazione della trasformazione Comando OLE DB.For details about configuring the transformation using the SSISSSIS designer, see Configure the OLE DB Command Transformation. Vedere la Guida per gli sviluppatori per informazioni dettagliate sulla configurazione a livello di codice di questa trasformazione.See the Developer Guide for details about programmatically configuring this transformation.

Vedere ancheSee Also

Flusso di dati Data Flow
Trasformazioni di Integration ServicesIntegration Services Transformations