Condividi tramite


Trasformazione Comando OLE DB

La trasformazione Comando OLE DB esegue un'istruzione SQL per ogni riga in un flusso di dati. Ad esempio, è possibile eseguire un'istruzione SQL che inserisce, aggiorna o elimina righe in una tabella di database.

È possibile configurare la trasformazione Comando OLE DB nei modi seguenti:

  • Specificare l'istruzione SQL eseguita dalla trasformazione per ogni riga.

  • Specificare il numero di secondi prima del timeout dell'istruzione SQL.

  • Specificare la pagina di codice predefinita.

In genere, l'istruzione SQL include parametri. I valori dei parametri vengono archiviati in colonne esterne nell'input della trasformazione, e il mapping di una colonna di input a una colonna esterna associa la colonna di input a un parametro. Ad esempio, per individuare le righe nella tabella DimProduct in base al valore nella colonna ProductKey e quindi eliminarle, è possibile eseguire il mapping della colonna esterna denominata Param_0 alla colonna di input denominata ProductKey e quindi eseguire l'istruzione DELETE FROM DimProduct WHERE ProductKey = ?SQL . La trasformazione Comando OLE DB fornisce i nomi dei parametri e non è possibile modificarli. I nomi dei parametri sono Param_0, Param_1 e così via.

Se si configura la trasformazione Comando OLE DB tramite la finestra di dialogo Editor avanzato, i parametri nell'istruzione SQL possono essere mappati automaticamente a colonne esterne nell'input della trasformazione, e le caratteristiche di ogni parametro definite facendo clic sul pulsante Aggiorna. Tuttavia, se il provider OLE DB utilizzato dalla trasformazione Comando OLE DB non supporta la derivazione delle informazioni sui parametri dal parametro , è necessario configurare manualmente le colonne esterne. Ciò significa che è necessario aggiungere una colonna per ogni parametro all'input esterno alla trasformazione, aggiornare i nomi delle colonne in modo da usare nomi come Param_0, specificare il valore della proprietà DBParamInfoFlags ed eseguire il mapping delle colonne di input contenenti valori di parametro alle colonne esterne.

Il valore di DBParamInfoFlags rappresenta le caratteristiche del parametro . Ad esempio, il valore 1 specifica che il parametro è un parametro di input e il valore 65 specifica che il parametro è un parametro di input e può contenere un valore Null. I valori devono corrispondere ai valori nell'enumerazione OLE DBPARAMFLAGSENUM. Per altre informazioni, vedere la documentazione di riferimento di OLE DB.

La trasformazione del comando OLE DB include la proprietà personalizzata SQLCommand. Questa proprietà può essere aggiornata da un'espressione di proprietà quando il pacchetto viene caricato. Per altre informazioni, vedere Espressioni di SQL Server Integration Services (SSIS), Usare Espressioni di Proprietà nei pacchetti e Proprietà Personalizzate delle Trasformazioni.

Questa trasformazione ha un input, un output regolare e un output di errore.

Registrazione

È possibile registrare le chiamate effettuate dalla trasformazione Comando OLE DB a provider di dati esterni. È possibile usare questa funzionalità di registrazione per risolvere i problemi relativi alle connessioni e ai comandi a origini dati esterne eseguite dalla trasformazione Comando OLE DB. Per registrare le chiamate che la trasformazione Comando OLE DB effettua verso provider dati esterni, abilita la registrazione dei pacchetti e seleziona l'evento Diagnostic a livello di pacchetto. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione dei pacchetti.

È possibile configurare la trasformazione usando progettazione SSIS o il modello a oggetti. Per informazioni dettagliate sulla configurazione della trasformazione tramite la finestra di progettazione SSIS, vedere Configurare la trasformazione Comando OLE DB. Per informazioni dettagliate sulla configurazione di questa trasformazione a livello di codice, vedere la Guida per gli sviluppatori.

Vedere anche

Flusso di dati
Trasformazioni di Integration Services