2016-07-18 5 views
0

Ich habe eine SQL-Aufgabe ausführen (Task 1), die SQL ausgeführt wird, um eine Spalte namens Hinweis aus Tabelle A zurückzugeben und speichert es als String SSIS-Variablentyp. In Tabelle A wird Note als varchar (2000) definiert.SSIS-Datentypen

Ich habe dann eine SQL-Aufgabe ausführen (Task 2), um eine gespeicherte Prozedur auszuführen. Der Eingabeparameter ist Note varchar (max).

Ich betreibe diese 2 Aufgabe in SSIS und erhalten den folgenden Fehler:

declare @ ...“schlug mit dem folgenden Fehler:‚Der Text, Ntext und Bilddatentypen sind für lokale Variablen ungültig‘. Mögliche Fehlerursachen: Probleme mit der Abfrage, "ResultSet" -Eigenschaft nicht korrekt gesetzt, Parameter nicht korrekt gesetzt oder Verbindung nicht korrekt hergestellt

Ich habe mehrere Lösungen erfolglos versucht.Wie kann man diesen Fehler umgehen und SSIS erhalten, um die Variable zu speichern und sie dem SP zuzuführen?

Auf SQL Server 2012 SSIS und hitti ng einer alten 2008-Datenbank, in der sich der SP befindet.

Antwort

1

Sie ordnen in Ihrem tsql-Code eine Textspalte zu. Bevor Sie von Ihrem tsql proc zurückkehren, konvertieren Sie die Textspalte in eine varchar-Spalte mit der Option cast (textval als varchar (max)) und stellen Sie sicher, dass Ihre Ausgabevariablen als varchars definiert sind.

0

Sie müssen sicherstellen, dass die Aufgabe 1 nur eine Zeile zurückgeben soll. example capture

Andernfalls müssen Sie eine Objektvariable verwenden. Und verwenden Sie für jeden Schleifencontainer eine Schleife durch dieses Objekt.