Connessione a origini dati nel componente scriptConnecting to Data Sources in the Script Component

Una gestione connessione è un'unità pratica che incapsula e archivia le informazioni necessarie per la connessione a un'origine dati di un determinato tipo.A connection manager is a convenient unit that encapsulates and stores the information that is required to connect to a data source of a particular type. Per altre informazioni, vedere Connessioni in Integration Services (SSIS).For more information, see Integration Services (SSIS) Connections.

È possibile rendere disponibili le gestioni connessioni esistenti per l'accesso da parte dello script personalizzato nel componente di origine o destinazione facendo clic sui pulsanti Aggiungi e Rimuovi nella pagina Gestioni connessioni dell'Editor trasformazione Script.You can make existing connection managers available for access by the custom script in the source or destination component by clicking the Add and Remove buttons on the Connection Managers page of the Script Transformation Editor. È tuttavia necessario scrivere codice personalizzato per caricare o salvare i dati e possibilmente per aprire e chiudere la connessione all'origine dati.However, you must write your own custom code to load or save your data, and possibly to open and close the connection to the data source. Per altre informazioni sulla pagina Gestioni connessioni dell'Editor trasformazione Script, vedere Configurazione del componente script nell'editor corrispondente ed Editor trasformazione Script (pagina Gestioni connessioni).For more information about the Connection Managers page of the Script Transformation Editor, see Configuring the Script Component in the Script Component Editor and Script Transformation Editor (Connection Managers Page).

Il componente script crea una classe di raccolta Connections nell'elemento di progetto ComponentWrapper che contiene una funzione di accesso fortemente tipizzata per ogni gestione connessione che ha lo stesso nome della gestione connessione.The Script component creates a Connections collection class in the ComponentWrapper project item that contains a strongly-typed accessor for each connection manager that has the same name as the connection manager itself. Questa raccolta viene esposta tramite la proprietà Connections della classe ScriptMain.This collection is exposed through the Connections property of the ScriptMain class. La proprietà della funzione di accesso restituisce un riferimento alla gestione connessione come istanza di IDTSConnectionManager100.The accessor property returns a reference to the connection manager as an instance of IDTSConnectionManager100. Ad esempio, se è stata aggiunta una gestione connessione denominata MyADONETConnection nella pagina Gestioni connessioni della finestra di dialogo, è possibile ottenere un riferimento ad essa nello script tramite il codice seguente:For example, if you have added a connection manager named MyADONETConnection on the Connection Managers page of the dialog box, you can obtain a reference to it in your script by adding the following code:

Dim myADONETConnectionManager As IDTSConnectionManager100 = _

Me.Connections.MyADONETConnection

Nota

È necessario conoscere il tipo di connessione restituito dalla gestione connessione prima di chiamare AcquireConnection.You must know the type of connection that is returned by the connection manager before you call AcquireConnection. Poiché l'oggetto Option Strict dell'attività Script è abilitato, è necessario eseguire il cast della connessione, che viene restituita come tipo Object, nel tipo di connessione appropriato prima dell'utilizzo.Because the Script task has Option Strict enabled, you must cast the connection, which is returned as type Object, to the appropriate connection type before you can use it.

Chiamare quindi il metodo AcquireConnection della gestione connessione specifica per ottenere la connessione sottostante o le informazioni necessarie per connettersi all'origine dati.Next, you call the AcquireConnection method of the specific connection manager to obtain either the underlying connection or the information that is required to connect to the data source. Ad esempio, per ottenere un riferimento a System.Data.SqlConnection incluso in una gestione connessione ADO.NET, usare il codice seguente:For example, you obtain a reference to the System.Data.SqlConnection wrapped by an ADO.NET connection manager by using the following code:

Dim myADOConnection As SqlConnection = _

CType(MyADONETConnectionManager.AcquireConnection(Nothing), SqlConnection)

Viceversa, la stessa chiamata a una gestione connessione file flat restituisce solo il percorso e il nome di file dell'origine dati del file.In contrast, the same call to a flat file connection manager returns only the path and file name of the file data source.

Dim myFlatFile As String = _

CType(MyFlatFileConnectionManager.AcquireConnection(Nothing), String)

È quindi necessario specificare questo percorso e questo nome di file in un oggetto System.IO.StreamReader o Streamwriter per leggere o scrivere i dati nel file flat.You then must provide this path and file name to a System.IO.StreamReader or Streamwriter to read or write the data in the flat file.

Importante

Quando si scrive codice gestito in un componente script, non è possibile chiamare il metodo AcquireConnection delle gestioni connessioni che restituiscono oggetti non gestiti, ad esempio la gestione connessione OLE DB e la gestione connessione Excel.When you write managed code in a Script component, you cannot call the AcquireConnection method of connection managers that return unmanaged objects, such as the OLE DB connection manager and the Excel connection manager. È tuttavia possibile leggere la proprietà ConnectionString di queste gestioni connessioni e connettersi direttamente all'origine dati nel codice usando la stringa di connessione di un oggetto connection OLEDB dallo spazio dei nomi System.Data.OleDb.However, you can read the ConnectionString property of these connection managers, and connect to the data source directly in your code by using the connection string of an OLEDB connection from the System.Data.OleDb namespace.

Se è necessario chiamare il metodo AcquireConnection di una gestione connessione che restituisce un oggetto non gestito, usare una gestione connessione ADO.NET.If you need to call the AcquireConnection method of a connection manager that returns an unmanaged object, use an ADO.NET connection manager. Quando si configura la gestione connessione ADO.NET per l'utilizzo di un provider OLE DB, la connessione viene eseguita tramite il provider di dati .NET Framework per OLE DB.When you configure the ADO.NET connection manager to use an OLE DB provider, it connects by using the .NET Framework Data Provider for OLE DB. In questo caso il metodo AcquireConnection restituisce un oggetto System.Data.OleDb.OleDbConnection invece di un oggetto non gestito.In this case, the AcquireConnection method returns a System.Data.OleDb.OleDbConnection instead of an unmanaged object. Per configurare una gestione connessione ADO.NET per l'utilizzo con un'origine dati Excel, selezionare il provider Microsoft OLE DB per Jet, specificare una cartella di lavoro di Excel, quindi immettere Excel 8.0 (per Excel 97 e versioni successive) come valore di Proprietà estese nella pagina Tutte della finestra di dialogo Gestione connessione.To configure an ADO.NET connection manager for use with an Excel data source, select the Microsoft OLE DB Provider for Jet, specify an Excel workbook, and then enter Excel 8.0 (for Excel 97 and later) as the value of Extended Properties on the All page of the Connection Manager dialog box.

Per altre informazioni sull'uso delle gestioni connessioni con il componente script, vedere Creazione di un'origine con il componente script e Creazione di una destinazione con il componente script.For more information about how to use connection managers with the script component, see Creating a Source with the Script Component and Creating a Destination with the Script Component.

Vedere ancheSee Also

Connessioni in Integration Services (SSIS) Integration Services (SSIS) Connections
Creare gestioni connessioniCreate Connection Managers