2016-07-14 13 views
0

Ich bin brandneu zu SSIS und SQL Server. Ich lese viel im Web und schaue mir ein Buch oder 2 an, um es zu kaufen.Syntaxfehler: Verketten - Abgeleitete Spalte - 2 Spalte + eine konstante Zeichenfolge

In dem Prozess versuche ich eine neue Spalte mit einer konstanten Zeichenfolge sowie einige Bindestriche und 2 Spalten zu erreichen. Aber ich bekomme es nicht einmal nahe. Ich kann die 2 Spalten mit Kein Strich und Kein Text bekommen, aber das erreicht das Ziel nicht. Ich habe die TechNet und Microsoft SSIS Seiten gelesen sowie hier gesucht und gelesen, aber ich kämpfe immer noch. Kann mir jemand bei der Syntax helfen? Vielen Dank im Voraus für Ihre Unterstützung.

Wunschziel ist es so etwas wie:

Ergebnis: DtMMP-202-PA-A97-1

Umwelt:

Die neuen Spalt wie folgt (nicht korrekte Syntax) wären: MMID Spalte eine ganze Zahl PymtAuth Spalte ist nvarchar100

"DtMMP-" + [MMID] + "-PA-" + [PymtAuth] 

Gewünschtes Ergebnis: DtMMP-202-PA-A97-1

Auch wenn ich die Front-End-String entfernen und nur die 2 Spalten kombinieren, bin ich nicht erfolgreich.

[MMID] + "-PA-" + [PymtAuth] 

Ich habe sogar getrennt und versucht, zwei Integer-Felder ...

[MMID] + '-' + [RegID] 

Wenn ich das auslassen ‚-‘ es scheint, es zu akzeptieren, aber die Dashed benötigt.

Das Ziel ist:

"DtMMP-" + [MMID] + "-PA-" + [PymtAuth] 

Ergebnis: DtMMP-202-PA-A97-1

Sie wieder danken.


"DtMMP-" + [MMID] + "-PA-" + [PymtAuth] Erstellt Fehler

Fehler bei Erstellen Gelegenheit von MM-Bibliothek [abgeleitete Spalten [391]]: Die Datentypen "DT_WSTR" und "DT_I4" sind für den binären Operator "+" nicht kompatibel. Die Operandentypen konnten nicht implizit in kompatible Typen für die Operation umgewandelt werden. Um diese Operation auszuführen, müssen einer oder beide Operanden explizit mit einem Umwandlungsoperator umgewandelt werden.

Fehler bei Create Opportunity von MM-Bibliothek [abgeleitete Spalte [391]]: Versuch, den Ergebnistyp der binären Operation "" DtMMP- "+ MMID" mit Fehlercode 0xC0047080 fehlgeschlagen.

Fehler bei Create Opportunity von MM-Bibliothek [abgeleitete Spalte [391]]: Berechnung des Ausdrucks "" DtMMP- "+ [MMID] +" -PA- "+ [PymtAuth]" mit Fehlercode 0xC0047084 fehlgeschlagen. Der Ausdruck kann Fehler enthalten, z. B. durch Division durch Null, der zum Zeitpunkt der Analyse nicht erkannt werden kann, oder es liegt möglicherweise ein Fehler aufgrund eines unzureichenden Arbeitsspeichers vor.

Fehler bei Erstellen einer Opportunity aus MM-Bibliothek [abgeleitete Spalte [391]]: Der Ausdruck "" DtMMP- "+ [MMID] +" -PA- "+ [PymtAuth]" auf "Abgeleitete Spalte.Outputs [abgeleitete Spalte Ausgabe] .Columns [Abgeleitete Spalte 2] "ist nicht gültig.

Fehler bei Create Opportunity von MM-Bibliothek [abgeleitete Spalte [391]]: Fehler beim Festlegen der Eigenschaft "Ausdruck" auf "Abgeleitete Spalte.Ausgaben [Abgeleitete Spaltenausgabe] .Columns [Abgeleitete Spalte 2]".


ZUSÄTZLICHE INFORMATIONEN:

Ausnahme von HRESULT: 0xC0204006 (Microsoft.SqlServer.DTSPipelineWrap)

+1

DT_WSTR tun Sie erhalten einen Fehler? Wenn dies der Fall ist, müssen Sie [MMID] in Zeichen umwandeln, wenn Sie mit den Zahlen – FLICKER

+0

verknüpfen. Bitte erwähnen Sie, was Ihre Datenbank-Engine ist. sq-server ist MicrosoftSQL Server und unterscheidet sich von mysql – FLICKER

+0

Flicker danke für Ihre Antwort ... Microsoft SQL Server 2014 und ja bei Verwendung "DtMMP-" + [MMID] + "-PA-" + [PymtAuth] der Fehler, den ich bekomme, ist wie folgt, die im Prinzip verstehe ich ist Mischen von Datentypen, aber ich bin unklar, wie man das Problem zu überwinden. Wenn Besetzung ist meine Antwort dann werde ich gehen, mehr Forschung auf Besetzung – DJJ

Antwort

0

Versuchen Sie, diese

"DtMMP-" + (DT_WSTR,4)MMID + "-PA-" + PymtAuth 

Sie haben MMID zu konvertieren

+0

2 Dinge. 1. - das hat den Trick !! 2. Danke, dass Sie so genau sind, wie es aussehen soll. die vollständige Syntax. – DJJ

+0

Ich habe auch eine zusätzliche Anleitung, um das Ganze in eine Zeichenfolge zu setzen - was sind deine Gedanken? (DT_STR, 50,1252) ("DtMMP-" + (DT_WSTR, 50) MMID + "- PA-" + [PymtAuth]) – DJJ

+0

MEIST ... Vielen Dank! – DJJ