Wie kann ich konvertieren Zahl in string und übergeben Sie als argument Prozess Ausführen (Task)?
Ich bin mit Prozess Ausführen task in SSIS 2008 R2. Ich habe eine variable idVar
welches ist der Datentyp Int32. Ich übergeben müssen Sie diese variable auf Eigentum Arguments
von der Aufgabe, so dass die ausführbare Datei kann diese variable als argument. Ich verwende Ausdruck zuweisen @idVar
zu Arguments
.
Nun das system sagt, ich brauche zum konvertieren von Int zu String, so habe ich den folgenden Ausdruck in der Ausdrucks-generator
(DT_STR, 10, 1252) @[User::IdVar]
Es gibt die folgende Fehlermeldung:
Expression cannot be evaluated.
Additional information:
The expression "(DT_STR, 10, 1252) @[User:IdVar]" has a result type of "DT_STR",
which cannot be converted to a supported type.
(Microsoft.DataTransformationServices.Controls)
Was ist der richtige Weg, um Typumwandlung der Zahl-zu-string?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ursache des Problems:
Arguments
Eigenschaft in Prozess Ausführen (Task verfügbar auf der Ablaufsteuerung Registerkarte erwartet einen Wert vom TypDT_WSTR
und nichtDT_STR
.SSIS 2008 R2-Paket und illustrieren Sie das Problem und beheben:
Erstellen Sie ein SSIS-Paket in Business Intelligence Development Studio (BIDS) 2008 R2 und nennen Sie es als
SO_13177007.dtsx
. Erstellen Sie eine Paket-variable mit den folgenden Informationen.Drag-and-drop ein Prozess Ausführen (Task auf die Ablaufsteuerung Registerkarte und benennen Sie es als Argumente
Doppelklicken Sie auf die Prozess Ausführen (Task zu öffnen
Execute Process Task Editor
. Klicken Sie auf Ausdrücke Seite und klicken Sie dann auf die Ellipse Knopf gegen den Ausdrücke - Eigenschaft zum anzeigen derProperty Expression Editor
.Auf dem eigenschaftsausdruck-Editor, wählen Sie die Eigenschaft
Arguments
und klicken Sie auf die Ellipse button gegen das Eigentum zu öffnen, dieExpression Builder
.Auf dem Ausdrucks-generator, geben Sie den folgenden Ausdruck ein, und klicken Sie auf
Evaluate Expression
. Dieser Ausdruck versucht zu konvertieren den Ganzzahl-Wert in die variableIdVar
string-Datentyp.Klicken Bewerten Ausdruck wird die folgenden Fehlermeldung angezeigt, weil die Eigenschaft Arguments auf Prozess Ausführen (Task erwartet einen Wert vom Datentyp
DT_WSTR
.Um das Problem zu beheben, aktualisieren Sie den Ausdruck wie folgt zu konvertieren den Ganzzahl-Wert für Datentyp
DT_WSTR
. Klicken Bewerten Ausdruck zeigt den Wert in der Ausgewertet Wert - text-Bereich.Referenzen:
Zu verstehen, die Unterschiede zwischen den Datentypen
DT_STR
undDT_WSTR
in SSIS, Lesen Sie die Dokumentation Integration Services-Datentypen auf der MSDN-Website. Hier sind die Zitate aus der Dokumentation über diese zwei string-Datentypen.DT_STR
Einen null-terminierten ANSI/MBCS-Zeichenfolge mit einer maximalen Länge von 8000 Zeichen. (Wenn eine Spalte Wert enthält zusätzliche null-terminatoren, wird die Zeichenfolge abgeschnitten werden, die beim auftreten der ersten null.)
DT_WSTR
Eine null-terminierte Unicode-Zeichenfolge mit einer maximalen Länge von 4000 Zeichen. (Wenn eine Spalte Wert enthält zusätzliche null-terminatoren, wird die Zeichenfolge abgeschnitten werden, die beim auftreten der ersten null.)
Ausdruck: "Insgesamt Count:" + (DT_WSTR, 11)@[User::int32Value]
für Int32 -- (zwischen-2.147.483.648 bis 2.147.483.647)
Ausdruck:
"Anzahl:" + (DT_WSTR, 5)@[User::Cnt]