2017-10-16 1 views
0

Ich habe versucht, vorhandene Post und keine der Antworten hat mir geholfen, das Problem zu lösen. Hinzufügen des Stücks Code.In dem folgenden Code Dts.Transaction ist null und damit sqlConn.Dts.Transaction ist Null in meiner SSIS-Skript-Aufgabe

Ich habe eine SQL-Aufgabe, die eine Liste von Datensätzen zu Script Task zurückgibt. Ich versuche den Verbindungsmanager zu verwenden, um eine Verbindung herzustellen. Nicht sicher, was falsch ist. Es ist ADO.net Verbindungsmanager.

Bitte markieren Sie diese Frage nicht als Duplikat, da der vorhandene Thread mir nicht geholfen hat.

Antwort

0

Ich habe dies getestet und obwohl Dts.Transactionnull ist, ergibt sich für mich zu arbeiten (auch beachten, dass anstatt Öffnen/Schließen der Verbindung, die Sie erwerben/release verwenden):

SqlConnection sqlConn = (SqlConnection)Dts.Connections["connectionManager"].AcquireConnection(Dts.Transaction); 

... 

Dts.Connections["connectionManager"].ReleaseConnection(sqlConn); 
+0

ich sein geringer Fehler Nachricht = "Schlüsselwort nicht unterstützt: 'Provider'." Der Verbindungsmanager war eine ADO.net-Verbindung. Ich denke, das ist das Problem. Aber nicht sicher, wie SQL-Verbindung von diesem zu etablieren. Eine andere Option ist das Ändern des Verbindungsmanagers (was ich vermeiden möchte) – HappyDeveloper

+0

Konnten Sie die Verbindungszeichenfolge posten? –

+0

Die Verbindungszeichenfolge kommt vom Verbindungsmanager und sieht ungefähr so ​​aus. Datenquelle = lokal; Anfangskatalog = Katalogname; Provider = SQLNCLI11.1; Integrierte Sicherheit = SSPI; Auto-Translate = Falsch; – HappyDeveloper

0

Das hier für mich funktioniert:

SqlConnection sqlCon = new SqlConnection(); 
sqlCon = (SqlConnection)Dts.Connections["DMP"].AcquireConnection(Dts.Transaction) as SqlConnection); 

Verwandte Themen