Announcement

Collapse
No announcement yet.

Integration Service OLE-DB Ziel UPDATE

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

  • Integration Service OLE-DB Ziel UPDATE

    Hallo Kollegen
    ich bin ein ziemlicher einssteiger was datenbanken betrifft daher bitte etwas nachsicht.

    ich bin gerade dabei ein Flatfile mit dem Integration Service von VisualStudio in eine MSSql2005 Datenbank zu überführen.
    das klappt alles soweit ganz gut.
    allerdings stört mich die tatsache, dass ich anscheinend die Daten in meiner Datenbank nur NEU einfügen kann aber nicht einfach nur Updaten kann.
    ich bekomm dann natürlich eine PK-Verletzung weil ich ja einen Datensatz mit dem gleichen Schlüssel aber mit verschiedenen werten in den weitern Spalten haben.
    ist es überhaupt möglich ein UPDATE mit OLE-DB Ziel anzuwenden?
    auch wenn ich mit SQL-Statement arbeite versteht er meinen Update-befehl nicht.
    für etwas hilfe wäre ich sehr dankbar
    mit freundlichen Grüßen

    Nosalek
    Zuletzt editiert von noosis; 02.08.2007, 11:19.

  • #2
    Hallo Claus Nosalek

    Ich gehe davon aus das Du über SSIS von SQL Server 2005 redest.
    Nein das geht nicht, was du aber machen kannst ist folgendes:
    1. Einen Trigger schreiben der sich um den update kümmert.
    2. Die Daten in eine zwischen Tabelle erst speichern und dann die ziel Tabelle entsprechend aktualisieren

    Ich persönlich aus performance gründen wurde dir Punkt 2 empfehlen.


    Gruß

    Comment


    • #3
      hallo bigpoint
      Danke für die Info und den Tip.
      habs jetzt mit einer puffer-tabelle gelöst und setz danach ein sql-statement für den Update ab.
      läuft wunderbar.

      MfG
      Zuletzt editiert von noosis; 02.08.2007, 11:19.

      Comment


      • #4
        SSIS Update

        Hallo,

        ein Update ist sehr wohl möglich. Dazu verwendet man
        die Komponente OLE DB Command. Dort wird der SQL Befehl
        eingetragen. Z.B. update table set spalte_a = ?, spalte_b = ?
        where PK_SOURCE = ?

        Im nachfolgenden Register werden die "?" den Eingangswerten zugeordnet.

        Ein Upsert ist somit nur mittels vorherigen Lookup und anschlie'enden Case möglich...

        Viele Grüsse
        Michael

        Comment


        • #5
          Hallo,

          ich habe seit einiger Zeit auch das Problem, dass ich zwarproblemlos von einer DB in eine andere DB Daten übertragen kann mittels SSIS, jedoch ist das Problem, dass Datensätze teilweise schon vorhanden sind bzw. sich leicht geändert haben und nun upgedated werden müssen. Hier treten immer wieder Fehler auf, da Primary-Key-Verletzungen vorliegen (was ja logisch ist, wenn DS hinzugefügt werden).

          Gibt es irgendwo eine gute Beschreibung, Anleitung, Tutorial oder ein Buch, wo man mal ein schönes Beispiel ausführlich sieht, wie man derartige Updates durchführt? Bin leider aus oben genannter Lösung nicht schlau geworden und einige englischsprachige Webseiten haben das Thema nur kurz und oberflächlich erwähnt.

          Vielleicht hat ja jemand einen Tipp??
          Grüße,


          Andy

          Comment


          • #6
            Hab das selbe Problem!

            Ich seteh vor dem selben Problem. Hat vl. jemand einen Tipp für ein gutes Tutorial o.ä.?

            Danke schon mal im vorraus!
            Günther

            Comment

            Working...
            X