none
Fehler bei der Konvertierung (String - Int) RRS feed

  • Frage

  • Ausdruck : @[User::JournalDateiNummer]=  (DT_I8) SUBSTRING( @[User::JournalDateiName] , 8, 1000 )

    Hi,

    Wenn die Ausdruck Task auswerte, dann bekomme ich den Fehler. Könnt ihr bitte sagen , wie kann ich ein String als Integer in SSIS konvertieren ?

    Danke!


    • Bearbeitet ganeshsg Mittwoch, 20. Mai 2015 08:50
    Mittwoch, 20. Mai 2015 08:49

Antworten

  • (DT_I8) SUBSTRING( @[User::JournalDateiName] , 8, 1000 )

    Du versuchst 992 Zeichen in eine 8 Byte Integer umzuwandeln; das SSIS/BIDS leicht bezweifelt, dass das immer gut geht, kann ich durchaus nachvollziehen. Wie viele Stellen haben den die Zahlenwerte in dem String maximal? Auf die Anzahl solltest Du dann auch den String kürzen.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert ganeshsg Mittwoch, 20. Mai 2015 14:11
    Mittwoch, 20. Mai 2015 09:50

Alle Antworten

  • Hallo ganeshsg,
    hast du dich davon überzeugt, dass das Ergebnis deiner Substring Operation auch umwandelbar ist?

    Viele Grüße Holger M. Rößler

    Mittwoch, 20. Mai 2015 09:35
  • (DT_I8) SUBSTRING( @[User::JournalDateiName] , 8, 1000 )

    Du versuchst 992 Zeichen in eine 8 Byte Integer umzuwandeln; das SSIS/BIDS leicht bezweifelt, dass das immer gut geht, kann ich durchaus nachvollziehen. Wie viele Stellen haben den die Zahlenwerte in dem String maximal? Auf die Anzahl solltest Du dann auch den String kürzen.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert ganeshsg Mittwoch, 20. Mai 2015 14:11
    Mittwoch, 20. Mai 2015 09:50
  • jetzt habe ich so  SUBSTRING( @[User::JournalDateiName] , 8, 12) eingegeben. Aber trotzdem taucht den Fehler auf


    • Bearbeitet ganeshsg Mittwoch, 20. Mai 2015 12:08
    Mittwoch, 20. Mai 2015 11:56
  • Welche Version von BIDS bzw. SSDT nutzt Du? In SSDT 2010 geht es zumindest zur Design-Zeit ohne Probleme.

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 20. Mai 2015 12:28
  • ich butze version 2013 . ich bekomme so eine Meldung bei der Design Zeit. ich habe auch probiert Delayvalidation auf True zu setzten. Aber taucht immer den Fehler auf!!



    • Bearbeitet ganeshsg Mittwoch, 20. Mai 2015 12:33
    Mittwoch, 20. Mai 2015 12:32
  • Hallo ganeshsg,
    welches Ergebnis aus deiner Substring Operation kommt denn zurück? Ist dieses Ergebnis umwandelbar?


    Viele Grüße Holger M. Rößler

    Mittwoch, 20. Mai 2015 12:41
  • Hallo Holger,

    Aus der Substring Operation kommt z.B. 1000, 1001, 1002 so aus.

    vor der Operation sieht den String so aus : KAS.JN.1000

    Mittwoch, 20. Mai 2015 12:44
  • Hi,
    wandle doch mal vor dem Cast nach DT_I8 das Ergebnis deines Substring nach DT_STR um.

    Viele Grüße Holger M. Rößler


    Mittwoch, 20. Mai 2015 13:26
  • Hallo ganeshsg,
    kannst du bitte noch posten, wo der Fehler war, und wie du ihn gelöst hast? Dann würden andere Benutzer von deiner Erfahrung auch profitieren

    Danke :)


    Viele Grüße Holger M. Rößler

    Donnerstag, 21. Mai 2015 05:45
  • Hatte überlesen, dass es um ein "Execution Task" geht, ich dachte es wäre ein "Derived Column". 
    Ich schätze auch mal, es ist eher doch noch nicht gelöst. Sieht mir etwas nach einem Bug aus, denn wenn ich ohne SUBSTRING ein WSTR => I8 wandeln will, dann geht es:

    Sobald SUBSTRING ins Spiel kommt, bekomme ich den gleichen Fehler. Als Work-A-Round würde ich ein Script Task verwenden.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    Donnerstag, 21. Mai 2015 07:36