dievonnebenan
Goto Top

SQL-Server 2000: Datenexport mit DTS-Packeten

Ich arbeite unter anderem im Moment bei einem Grosshandel als Admin. Das ERP dieses Handels sortiert alle Daten fein säuberlich in eine SQL2000 Datenbank ein.

für einige aufgaben, die sich sehr gut automatisieren lassen, habe ich nun die DTS-Packete entdeckt und schon mehrere gute Erfahrungen gesammelt. Hier nun mein Problem.

Wenn man daten zeitgesteuert via DTS-Packet von einer Datenbank in eine Datei im Textformat (zB: CSV) exportiert, wird die Datei in ihrem bisherigen Zustand überschrieben. Wenn ich aber nun Daten in eine Excel- oder Access-Datei exportiere oder beliebige Daten von einer externen Quelle in eine Tabelle der Datenbank importiere, werden diese Daten angehängt.

kann ich irgendwo innerhalb des packetes einfach einen schalter umlegen, der sagt: "überschreiben statt anhängen"? oder gibt es eine möglichkeit, das gewünschte ergebnis über eine art UPDATE-Anfrage zu realisieren? Die Problemlösung muss möglichst der gestalt sein, dass sie ebenfalls automatisch realisierbar ist oder nur einmalig eine eingabe erfordert, da zb: stündlich wiederkehrende exporte nicht immer kontrolliert und beobachtet werden können.

für eure hilfe schon jetzt vielen dank

mfg chris

Content-Key: 15802

Url: https://administrator.de/contentid/15802

Printed on: April 25, 2024 at 11:04 o'clock

Member: MadMax
MadMax Sep 09, 2005 at 23:29:09 (UTC)
Goto Top
Hallo Chris,

einen Schalter Anhängen/Überschreiben gibt es zwar nicht, aber Du kannst einen Task für das Löschen vorschalten. Auf der linken Seite findest Du außer den Verbindungen zu den verschiedenen Datenquellen auch Tasks. Hier dürften insbesondere "SQL ausführen", "Prozess ausführen" und "ActiveX-Skripttask" für Dich interessant sein. Mit "SQL ausführen" kannst Du z.B. in Access Tabellen leeren mit dem üblichen SQL-Befehl "delete from xxx" (beim Tabellennamen ist auf Groß-/Kleinschreibung zu achten). In Excel geht das zwar nicht, aber hier könnte ich mir vorstellen, entweder per VBSkript eine Tabelle zu leeren (ActiveX-Skripttask) oder aber über ganz normale DOS-Befehle einfach die komplette Exceldatei durch eine leere Musterdatei zu ersetzen (Prozess ausführen). Den Ablauf der einzelnen Schritte steuerst Du dann per Workflows.

Gruß, Mad Max
Member: dievonnebenan
dievonnebenan Sep 12, 2005 at 08:15:14 (UTC)
Goto Top
das klingt doch schon nach einem sehr guten ansatz.

thx mad max

nu muss mir nur noch einer erklären, wie man eine excel-tabelle via vb-script löscht ;) (von vb habsch nämlich nich ganz so viel ahnung)

die sache mit dem leeren von access-tabellen hab ich auf anhieb hinbekommen, nicht schlecht, diese verknüpfung von sql und access, danke nochmal