Frage

Ich habe einige SQL bekam eine Dezimalzahl (20,0) Datentyp zurück. In SSIS habe ich ein Paket mit einer foreach-Schleife. In meinem variablen Zuordnungen, welche Art von Variable würde ich wo es sich zu? Ich habe versucht, Int32, Int64, Doppel-, und immer noch den Fehler User :: iID „Der Typ der Wert der Variablen zugewiesen wird‚‘unterscheidet sich von der aktuellen Variablentyp ...“

War es hilfreich?

Lösung

Die SSIS Variable Designer nicht, in meinem Fall, die Dezimal oder Numerische Datentypen zeigen auszuwählen meine decimal (18,2) Wert in setzen.

änderte ich meine Variable Objekt, und konnte die Dezimal (18,2) Wert aus dem Ergebnis einer gespeicherten proc gesetzt lesen, und es als Parameter mit Typ-Geld zu einem zweiten SP übergeben.

So würde ich „Objekt“ verwenden, wenn Sie nicht auf einen Typen in der Variablenliste finden können, die für Sie arbeiten.

Andere Tipps

Haben Sie versucht, Dezimal noch?

SSIS hat Dezimal und Numerische Typen. Sie können entweder von diesen verwenden und es wird durchlaufen (außer vielleicht auf einer Union zusammen, wo Sie sollten sie die gleiche Genauigkeit und Maßstab sind sicher machen).

Sehen Sie mehr über Datentypen hier .

.NET dezimal hat Methoden decimal.ToInt64 () , decimal.ToInt32 () etc.

Ein Schwimmer oder eine Dezimalzahl würde meine Empfehlung sein.

A SQL DECIMAL (20,0) hat eine Genauigkeit von 20 bis 13, das Byte Speicherplatz entspricht. Die .Net dezimal ist 16 Bytes und sollte funktionieren.

Sie müssen den SQL-Datentyp Int64 zu setzen es in ein Int64 Paketvariable vor konvertieren.

Wie werden Sie es bekommen, als Ausgabeparameter?

In einem Datenfluß, würden Sie offensichtlich in ein Dezimal / numerischen lesen und dann zu Int64 in einer Datenkonvertierungskomponente konvertieren.

Wenn Sie versuchen, direkt einen Ausgabeparameter aus einer SQL ausführen Befehl Aufgabe abzubilden, werden Sie wahrscheinlich ein temporäres Objekt Paketvariable verwenden müssen und es dann in einem Skript-Task in das real Int64 Paket Variable umwandeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top