Connessione a origini dati nell'attività Script
Le gestioni connessioni forniscono accesso a origini dati configurate nel pacchetto. Per altre informazioni, vedere Connessioni di Integration Services (SSIS).
L'attività Script può accedere a queste gestioni connessioni tramite la proprietà Connections dell'oggetto Dts. Ogni gestione connessione nella raccolta Connections archivia informazioni su come eseguire la connessione all'origine dati sottostante.
Quando si chiama il metodo AcquireConnection di una gestione connessione, la gestione connessione si connette all'origine dati, se non è già connessa, e restituisce la connessione o le informazioni di connessione appropriate da utilizzare nel codice dell'attività Script.
Nota
È necessario conoscere il tipo di connessione restituito dalla gestione connessione prima di chiamare 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.
È possibile utilizzare il metodo Contains della raccolta Connections restituita dalla proprietà Connections per cercare una connessione esistente prima di utilizzare la connessione nel codice.
Importante
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, nel codice gestito di un'attività Script. È tuttavia possibile leggere la proprietà ConnectionString di queste gestioni connessioni e connettersi all'origine dati direttamente nel codice usando il stringa di connessione con uno OledbConnection
dallo spazio dei nomi System.Data.OleDb.
Se è necessario chiamare il metodo AcquireConnection di una gestione connessione che restituisce un oggetto non gestito, usare una gestione connessione ADO.NET. 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. In questo caso, il metodo AcquireConnection restituisce un oggetto System.Data.OleDb.OleDbConnection
anziché un oggetto non gestito. Per configurare una gestione connessione ADO.NET per l'utilizzo con un'origine dati Excel, selezionare il provider Microsoft OLE DB per Jet, specificare un file 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.
Esempio di connessioni
Nell'esempio seguente viene illustrato come accedere alle gestioni connessioni dall'attività Script. Nell'esempio si presuppone che sia sta creata e configurata una gestione connessione denominata Test ADO.NET Connection e una gestione connessione file flat denominata Test Flat File Connection. Si noti che la gestione connessione ADO.NET restituisce un SqlConnection
oggetto che è possibile utilizzare immediatamente per connettersi all'origine dati. La gestione connessione file flat, al contrario, restituisce solo una stringa che contiene il percorso e il nome di file. È necessario utilizzare i metodi dello spazio dei nomi System.IO
per aprire e utilizzare il file flat.
Public Sub Main()
Dim myADONETConnection As SqlClient.SqlConnection
myADONETConnection = _
DirectCast(Dts.Connections("Test ADO.NET Connection").AcquireConnection(Dts.Transaction), _
SqlClient.SqlConnection)
MsgBox(myADONETConnection.ConnectionString, _
MsgBoxStyle.Information, "ADO.NET Connection")
Dim myFlatFileConnection As String
myFlatFileConnection = _
DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _
String)
MsgBox(myFlatFileConnection, MsgBoxStyle.Information, "Flat File Connection")
Dts.TaskResult = ScriptResults.Success
End Sub
using System;
using System.Data.SqlClient;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
public class ScriptMain
{
public void Main()
{
SqlConnection myADONETConnection = new SqlConnection();
myADONETConnection = (SqlConnection)(Dts.Connections["Test ADO.NET Connection"].AcquireConnection(Dts.Transaction)as SqlConnection);
MessageBox.Show(myADONETConnection.ConnectionString, "ADO.NET Connection");
string myFlatFileConnection;
myFlatFileConnection = (string)(Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String);
MessageBox.Show(myFlatFileConnection, "Flat File Connection");
Dts.TaskResult = (int)ScriptResults.Success;
}
}
Rimanere aggiornati con Integration Services
Per i download, gli articoli, gli esempi e i video più recenti di Microsoft, nonché le soluzioni selezionate dalla community, visitare la pagina integration services in MSDN:
Visitare la pagina relativa a Integration Services su MSDN
Per ricevere una notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.
Vedi anche
Connessioni in Integration Services (SSIS)
Creare gestioni connessioni