2012-05-17 2 views
1

Je rencontre des problèmes lors de l'utilisation du gestionnaire de connexions à partir d'une tâche de script dans SSIS. Le programme compilera parfaitement jusqu'à ce que j'essaie d'utiliser la connexion qui est définie dans l'environnement.Connexion aux sources de données dans la tâche de script

Private Sub InsertLog(ByRef log() As String) 
     Dim conn As SqlClient.SqlConnection 
     conn = _ 
      DirectCast(Dts.Connections("ConfigDB").AcquireConnection(Dts.Transaction), _ 
      SqlClient.SqlConnection) 
     MsgBox(log(0) & " " & log(1) & " " & log(2) & " " & log(3) & Dts.Connections("ConfigDB").ConnectionString.ToString()) 
End Sub 

Si je commente le Dim et DirectCast le package exécute obtenir avec succès et je peux avec succès la chaîne de connexion dans un messagebox.

Data Source=PathToServer;Initial Catalog=DB;Provider=...;Integrated Security=...;Application Name=...;Auto Translate=False; 

Est-ce que quelqu'un d'autre a eu cela?

Répondre

1

J'ai une solution. La raison pour laquelle il a échoué était à cause du fournisseur et Auto Translate, donc ma solution est de supprimer ce qui n'est pas nécessaire.

Dim strConnection As String = Dts.Connections("Automation").ConnectionString.ToString() 
     Dim regProvider As New Regex("Provider=([^;]*);") 
     Dim regTranslate As New Regex("Auto Translate=([^;]*);") 
     strConnection = regProvider.Replace(strConnection, "") 
     strConnection = regTranslate.Replace(strConnection, "") 
     Dim conn As New SqlClient.SqlConnection(strConnection) 
Questions connexes