Announcement

Collapse
No announcement yet.

Flatfile über SSIS in SQL-DB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Flatfile über SSIS in SQL-DB

    Hi @all,

    ich habe folgendes Problem:

    Ich lese über einen Masseneinfügungstask ein Flatfile in meine SQL-Datenbank ein.

    Das Problem ist allerdings, dass Spalten in der Flatfile, die keinen Inhalt haben, nicht den Wert NULL enthalten, sondern mit Leerzeichen aufgefüllt sind.

    Ich möchte in der DB allerdings solche Spalten als NULL haben!

    Wie kann man hier vorgehen.

    Ich bitte Euch um dringende Hilfe, da ich momentan keine Ahnung habe!


    Vielen Dank schon mal!!!

  • #2
    Da muss explizit NULL angegeben werden. Nachdem ich aber selber nichts mit SSIS mache kann ich dir nicht sagen, ob man im Transferprozess selber etwas definieren kann. Als Lösung würde ich da vorher mit Suche/Ersetzen über den Flatfile gehen und ,, bzw '' durch NULL ersetzen, also statt
    23,,1,'ein Text','',7,...
    sollte dann dieses stehen:
    23,NULL,1,'ein Text',NULL,7,...

    bye,
    Helmut

    Comment


    • #3
      Erstmal Dank für die schnelle Antwort.

      "Suchen und Ersetzen" ist allerdings keine geeignete Lösung, da dieser Import der Daten automatisch täglich laufen soll!

      Gibt es vielleicht eine SQL-Funktion, die erkennt, ob in einem Feld ausschließlich nur Leerzeichen enthalten sind?

      Ähnlich wie REPLACE(Spaltenname,ONLY(' '),'NULL')

      Oder so ähnlich?

      Comment


      • #4
        Halt, ich eine Lösung gefunden!

        Für alle, die es interessiert:

        UPDATE Tabellenname
        SET Spaltenname = NULL
        WHERE LTRIM(Spaltenname) = ' ';

        Mit dieser Funktion "LTRIM" wird der Inhalt einer Zelle auf ein 1 Leerzeichen getrimmt, wenn in dieser Zelle mehrere und ausschließlich Leerzeichen enthalten sind!

        Juhu, Geistesblitz

        Comment


        • #5
          Hallo,

          Ich möchte in der DB allerdings solche Spalten als NULL haben!
          in jedem Fall kann ein INSTEAD OF-Trigger für den INSERT-Zugriff auf diese Tabelle diese Regel erzwingen. Der Trigger würde bei jedem Zugriffsweg eingreifen, unabhängig von SSIS.

          Comment

          Working...
          X