2012-03-28 19 views
0

Ich habe einige Text-und Excel-Datei, von denen ich Daten in SQL Server-Tabellen importieren müssen. Jetzt ist mein Problem, dass die Tabelle möglicherweise die gleiche Zeile hat, die ich aus der flachen Datei oder der Excel-Datei importiere.Einfügen/Aktualisieren von Zeilen in einer Tabelle aus Flat-Datei

Also, wie kann ich überprüfen und umleiten die Zeilen, die bereits in der Tabelle vorhanden sind.

Ex:

Flachfeile

6, test1, bak 
7, test2, nim 
8, test3, kol 

Tabelle _ Produkt

Id (*Not a primary key*) Name code 
1      ttest hyt 
2      jtest jte 
7      test2 nim 
6      ttt bak 

So von Flat-File-Zeile 6 aktualisiert werden (weil eine der Spaltenwert geändert wird), Reihe 7 wird nicht eingefügt/aktualisiert (weil es schon da ist) und Zeile 8 wird eingefügt.

Antwort

2

Ich glaube, Sie wissen, wie Sie die OleDBSource und die OleDBDestination konfigurieren, nicht wahr? Der einzige Unterschied ist, dass Sie in der Mitte einen Lookup Transformation hinzufügen müssen, der überprüft, ob die Zeile existiert oder nicht, und wenn dies der Fall ist, wird der Datenfluss an Ihr Ziel gesendet.

Blick auf dem Internet für einfache Beispiele, wie zu bedienen, aber darauf achten, dass das Verhalten dieser Komponente von SSIS 2005 auf SSIS 2008 so geändert sicher, für das Jahr 2008 Beispiele hier

+2

Ein guter Ausgangspunkt wäre Andy Leonards [Stairway to Integration Services-Serie] (http://www.sqlservercentral.com/stairway/72494/) – billinkc

+0

Kann Trigger die gleiche Arbeit machen, ich meine, wird es besser/am schlechtesten funktionieren als Nachschlagen. Es tut mir leid, wenn ich dumm klingen, aber ich bin sehr neu in dieser Technologie. – Zerotoinfinity

1

Ein gemeinsamer Ansatz ist es, Laden Sie die Rohdaten in eine Lade-Tabelle, die das gleiche Format wie die Flat-Datei hat. Verwenden Sie anschließend TSQL, um die Daten weiter zu manipulieren und in die endgültigen Berichtstabellen einzufügen. In diesem Fall könnten Sie beispielsweise die MERGE statement verwenden.

Verwandte Themen