Connexion à des sources de données dans la tâche de script
Les gestionnaires de connexions fournissent un accès à des sources de données qui ont été configurées dans le package. Pour plus d’informations, consultez Connexions Integration Services (SSIS).
La tâche de script peut accéder à ces gestionnaires de connexions via la propriété Connections de l’objetDts. Chaque gestionnaire de connexions compris dans la collection Connections stocke des informations sur la manière d'établir une connexion à la source de données sous-jacente.
Lorsque vous appelez la méthode AcquireConnection d'un gestionnaire de connexions, le gestionnaire de connexions se connecte à la source de données, s'il n'est pas déjà connecté, puis renvoie la connexion ou les informations de connexion appropriées que vous devez utiliser dans le code de votre tâche de script.
Remarque
Vous devez connaître le type de connexion retourné par le gestionnaire de connexions avant d’appeler AcquireConnection
. Étant donné que la tâche de script a Option Strict
activé, vous devez effectuer un cast de la connexion, qui est retournée en tant que type Object
, vers le type de connexion approprié avant de pouvoir l'utiliser.
Vous pouvez utiliser la méthode Contains de la collection Connections renvoyée par la propriété Connections pour rechercher une connexion existante avant d'utiliser la connexion dans votre code.
Important
Vous ne pouvez pas appeler la méthode AcquireConnection des gestionnaires de connexions qui renvoient des objets non managés, tels que le gestionnaire de connexions OLE DB et le gestionnaire de connexions Excel, dans le code managé d’une tâche de script. Toutefois, vous pouvez lire la propriété ConnectionString de ces gestionnaires de connexions et vous connecter à la source de données directement dans votre code à l’aide du chaîne de connexion avec un OledbConnection
espace de noms System.Data.OleDb.
Si vous devez appeler la méthode AcquireConnection d’un gestionnaire de connexions qui retourne un objet non managé, utilisez un gestionnaire de connexions ADO.NET. Lorsque vous configurez le gestionnaire de connexions ADO.NET afin d'utiliser un fournisseur OLE DB, il se connecte en utilisant le fournisseur de données .NET Framework pour OLE DB. Dans ce cas, la méthode AcquireConnection retourne un System.Data.OleDb.OleDbConnection
objet non managé. Pour configurer un gestionnaire de connexions ADO.NET en vue de son utilisation avec une source de données Excel, sélectionnez le fournisseur Microsoft OLE DB pour Jet, spécifiez un fichier Excel, puis entrez Excel 8.0
(pour Excel 97 et versions ultérieures) comme valeur Propriétés étendues dans la page Tout de la boîte de dialogue Gestionnaire de connexions.
Exemple de connexions
L'exemple suivant montre comment accéder aux gestionnaires de connexions à partir de la tâche de script. Il est supposé dans l’exemple que vous avez créé et configuré un gestionnaire de connexions ADO.NET nommé Connexion ADO.NET test et un gestionnaire de connexions de fichiers plats nommé Connexion de fichiers plats test. Notez que le gestionnaire de connexions ADO.NET retourne un SqlConnection
objet que vous pouvez utiliser immédiatement pour vous connecter à la source de données. Le gestionnaire de connexions de fichiers plats, en revanche, retourne uniquement une chaîne qui contient le chemin d'accès et le nom du fichier. Vous devez utiliser les méthodes de l'espace de noms System.IO
pour ouvrir et utiliser le fichier plat.
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;
}
}
Rester à jour avec Integration Services
Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que les solutions sélectionnées de la communauté, visitez la page Integration Services sur MSDN :
Visiter la page Integration Services sur MSDN
Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.
Voir aussi
Connexions Integration Services (SSIS)
Créer des gestionnaires de connexions