Ich verwende Task ausführen in SSIS 2008 R2. Ich habe eine Variable idVar
, die vom Datentyp Int32 ist. Ich muss diese Variable an die Eigenschaft Arguments
der Aufgabe übergeben, damit die ausführbare Datei diese Variable als Argument annehmen kann. Ich verwende Ausdruck, um @idVar
zu Arguments
zuzuweisen.
Jetzt sagt das System, dass ich Int in String umwandeln muss, also habe ich den folgenden Ausdruck im Ausdrucksersteller verwendet
%Vor%Es gibt den folgenden Fehler:
%Vor%Was ist der richtige Weg, um die Zahl in eine Zeichenkette umzuwandeln?
Arguments
Eigenschaft in Auf der Registerkarte Steuerungsablauf verfügbare Prozessaufgabe ausführen erwartet einen Wert vom Datentyp DT_WSTR
und nicht DT_STR
.
Erstellen Sie ein SSIS-Paket in Business Intelligence Development Studio (BIDS) 2008 R2 und nennen Sie es als SO_13177007.dtsx
. Erstellen Sie eine Paketvariable mit den folgenden Informationen.
Ziehen Sie eine Prozessaufgabe ausführen auf die Registerkarte Kontrollfluss und benennen Sie sie als Argumente übergeben
Doppelklicken Sie auf Task ausführen , um Execute Process Task Editor
zu öffnen. Klicken Sie auf die Seite Ausdrücke und anschließend auf die Schaltfläche Ellipse für die Eigenschaft Ausdrücke , um das Property Expression Editor
anzuzeigen.
Wählen Sie im Property Expression-Editor die Eigenschaft Arguments
aus und klicken Sie auf die Schaltfläche Ellipsis , um die Eigenschaft zu öffnen Expression Builder
.
Geben Sie im Ausdrucksersteller den folgenden Ausdruck ein und klicken Sie auf Evaluate Expression
. Dieser Ausdruck versucht, den Ganzzahlwert in der Variablen IdVar
in den Datentyp string zu konvertieren.
Wenn Sie auf Ausdruck auswerten klicken, wird die folgende Fehlermeldung angezeigt, weil die Argument-Eigenschaft in Task ausführen einen Wert vom Datentyp DT_WSTR
erwartet .
Um das Problem zu beheben, aktualisieren Sie den Ausdruck wie unten gezeigt, um den ganzzahligen Wert in den Datentyp DT_WSTR
zu konvertieren. Durch Klicken auf Ausdruck auswerten wird der Wert im Textbereich Evaluierter Wert angezeigt.
Um die Unterschiede zwischen den Datentypen DT_STR
und DT_WSTR
in SSIS zu verstehen, lesen Sie die Dokumentation Integration Services-Datentypen auf MSDN. Hier sind die Zitate aus der Dokumentation zu diesen beiden String-Datentypen.
Eine nullterminierte ANSI / MBCS-Zeichenfolge mit einer maximalen Länge von 8000 Zeichen. (Wenn ein Spaltenwert zusätzliche Nullabschlusszeichen enthält, wird die Zeichenfolge beim Auftreten der ersten Null abgeschnitten.)
Eine nullterminierte Unicode-Zeichenfolge mit einer maximalen Länge von 4000 Zeichen. (Wenn ein Spaltenwert zusätzliche Nullabschlusszeichen enthält, wird die Zeichenfolge beim Auftreten der ersten Null abgeschnitten.)
Ausdruck: "Gesamtanzahl:" + (DT_WSTR, 11) @ [Benutzer :: int32Value]
für Int32 - (-2,147,483,648 bis 2,147,483,647)
Tags und Links ssis