CSV-Datei - SSIS-Paketfehler bei Import einer Datei

zero82

Neuer Benutzer
Beiträge
2
Hallo liebes Forum,

ich habe es geschafft einige CSV-Dateien über einen For-Each Container einzulesen. Ich habe 4 CSV-Dateien von denen er drei erfolgreich einliest und in die Datenbank schreibt. _Nur bei der letzten bricht er ab und bringt folgende Fehlermeldung:

[Flatfilequelle [70]] Fehler: Fehler bei der Datenkonvertierung. Die Datenkonvertierung für die Kostenstelle-Spalte gab den Statuswert "6" und den Statustext "Fehler bei der Konvertierung, weil der Datenwert zu einem Überlauf beim angegebenen Typ führte." zurück.

[Flatfilequelle [70]] Fehler: SSIS-Fehlercode "DTS_E_INDUCEDTRANSFORMFAILUREONERROR". Fehler bei "Flatfilequelle.Ausgaben[Ausgabe der Flatfilequelle].Spalten[Kostenstelle]" aufgrund des Fehlercodes 0xC0209087. Die Fehlerzeilendisposition in "Flatfilequelle.Ausgaben[Ausgabe der Flatfilequelle].Spalten[Kostenstelle]" gibt an, dass der Vorgang bei einem Fehler nicht ausgeführt werden kann. Es wurde ein Fehler im angegebenen Objekt der angegebenen Komponente festgestellt. Möglicherweise wurden bereits Fehlermeldungen veröffentlicht, die weitere Fehlerinformationen beinhalten.

[Flatfilequelle [70]] Fehler: Fehler beim Verarbeiten der Datei "D:\SNCControl\A_Daten\gastronovi\2022_06\accounting-41100-405-424-20220531-09-29-20220623-05-35.csv" in der Datenzeile 2.

[SSIS.Pipeline] Fehler: SSIS-Fehlercode "DTS_E_PRIMEOUTPUTFAILED". Die PrimeOutput-Methode in "Flatfilequelle" hat den Fehlercode 0xC0202092 zurückgegeben. Die Komponente gab einen Fehlercode zurück, als das Pipelinemodul "PrimeOutput()" aufgerufen hat. Die Bedeutung des Fehlercodes wird von der Komponente definiert. Der Fehler ist jedoch schwerwiegend, und die Ausführung der Pipeline wurde beendet. Möglicherweise wurden bereits Fehlermeldungen veröffentlicht, die weitere Fehlerinformationen beinhalten.

Ich habe mir die Flatfilequelle genau angeschaut. Und mir ist nichts ungewöhnliches in der besagten Datenspalte aufgefallen. Woran kann das liegen? Bitte um Hilfe.

Ich habe auch schon an den Datentypen bisschen herumgeschraubt und versucht über eine Konvertierung in varchar und int das Problem zu lösen.

Komisch ist aber, dass er die ersten drei einliest und die vierte nicht. Ich bitte um Hilfe.
 
Werbung:
Hallo zero82,

prüfe doch erst einmal, ob die Dateien im gleichen Format (UFT8/ANSI) gespeichert sind, oder ob das der 4. Datei vom Format der anderen 3 Dateien abweicht (beliebtes Problem mit SSIS und csv).

Laut Microsoft taucht der von dir gepostete Fehler bei einer Parameter-Konvertierung auf. Da es aber eine Überlauf-Fehlermeldung gibt, scheint mir das hier nicht der Fall zu sein (auch wenn ich natürlich nicht weiß, wie dein SSIS im Details aussieht).
Hast du für die Kostenstelle (als Spalte für den Überlauf-Fehler genannt) ein Zahlenformat vorliegen? Wenn ja, dann versuch es einmal mit einem bigint, statt mit einem einfachen int.

Hilfreich ist auch, wenn du die Datentyp direkt an der Flatfile-Datenquelle im SSIS angeben kannst. Ein bigint im SSIS ist ein DT_I8.

Ansonsten sollte es immer funktionieren, wenn in der Flatfile-Datenquelle alle Datentypen auf einen String-Datentyp (WSTR/DSTR) mit ausreichender Länge angibst und du in eine entsprechende Tabelle importierst, die ebenfalls nur varchar- bzw. nvarchar- Spalten bereithält.

Viele Grüße,
Tommi
 
Merkwürdig das schon Zeile 2 betroffen ist, also möglicherweise auch jede weitere Zeile betroffen wäre. Kürze doch mal die Datei auf eine Datenzeile + ggf. Überschriftenzeile. Verwende bitte unbedingt Notepad++ oder ähnliches, nicht Excel (das zerhaut dir schnell was). Lass den Test nochmal laufen.

Wie ist die CSV aufgebaut? Ich vermute der Spaltentrenner ist ein Komma oder Semikolon. Eventuell gibt es ein entsprechendes Zeichen in einer Textspalte das dafür sorgt das die Spalten sich nach "hinten verschieben" und dementsprechend passt weder die Anzahl der Spalten noch das Format.
 
Hallo Zusammen,

ein "Bigint" hat das Problem gelöst. Danke nochmal.

ich habe noch eine Frage. Es geht nur um Verschönerungen, die nur Luxus sind aber trotzdem möchte ich mich daran wagen.

Ich habe eine Spalte in der Quelltabelle die "Steuersatz" heißt. In der CSV-Quelle ist dies entweder als "19,00" oder aber als "7,00" drin.

In meinem Datenflusstask führe ich eine Konvertierung durch in den Datentypen DT_CY (Währung) und er fügt in die Zielspalte nur die Zahl ohne die Nachkommastellen ein.

Die Zielspalte hat den Datentyp "float". Ich habe beim Versuch mehrere Datentypen getestet aber ohne Erfolg.

Welcher Datentyp wäre hier angebracht? Kann mir einer aushelfen?

Dank und Gruß
zero
 
Werbung:
Natürlich speichert die Datenbank keine Nachkommastellen, die 0 sind, die sind ja nutzlos. Die Darstellung und das Format der Ausgabe ist Sache des Clients, eigentlich alles richtig so.
 
Zurück
Oben