cheaptrick
Goto Top

Nur ungelesene Dateien eines Verzeichnisses in SQL-Server Tabelle einlesen

Hallo,

in einem Verzeichnis werde innerhalb eines Geschäftsjahres wöchentlich Dateien abgelegt, die ich in eine DB-Tabelle auf einer SQL-Server 2008 Datenbank einlesen muss.
Hierzu suche ich eine Anleitung.

Gruß

cheapy

Einen Teil des Problems hab ich (möglicherweise) schon gelöst.
Ich habe eine Anleitung gefunden nach der ich mittels eines For Each-Containers ALLE Dateien eines Vorgegebenen Verzeichnisses auslesen kann. Da der Name der Datei mittels einer Variablen übergeben wird, kann ich mir den Dateinamen in einer Tabelle merken. Was ich jetzt nicht hin bekomme ist das Problem das Einlesen der Datei zu umgehen, wenn diese bereits bearbeitet wurde.
Da ich keinen Einfluss darauf habe, wie die Dateien abgelegt werden, muss ich den Weg so gehen. Leider.

Content-Key: 150516

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

Printed on: April 16, 2024 at 08:04 o'clock

Member: maretz
maretz Sep 07, 2010 at 14:52:15 (UTC)
Goto Top
gut - deine exe-file die getart in nem gzip liegt musst du erst 3x drehen bevor du die mit prolog in die DB legen kannst...

Oder du verrätst uns um was für Dateien (word, excel) es sich handelt und um welche Programmiersprache es sich dreht...

Denn ich würde idR. nicht die Datei in die DB legen (geht zwar mit nem Blob aber is nich wirklich schön) - sondern versuchen den Inhalt in die DB zu legen... Es gibt z.B. bei Java die Möglichkeit Word oder Excel-Files auszulesen...
Member: cheaptrick
cheaptrick Sep 07, 2010 at 15:16:59 (UTC)
Goto Top
Zitat von @maretz:
gut - deine exe-file die getart in nem gzip liegt musst du erst 3x drehen bevor du die mit prolog in die DB legen kannst...
===> HÄ?

Oder du verrätst uns um was für Dateien (word, excel) es sich handelt und um welche Programmiersprache es sich dreht...
===> Es sind Textdateien, deren Inhalt ich in DB-Tabellen einlesen will, aber das habe ich, wie schon beschreiben, bereits gelöst!
===> Um es nochmals darzustellen: Es handelt sich um einen For Loop Container in einem SSIS-Paket einer SQL-Server 2008 DB
===> Genau hierfür benötige ich noch eine Lösung, wie ich der Datenbearbeitungdtask NUR die Dateien zur Verfügung stellen, die ich noch NICHT eingelesen habe.
===> Die Namen der eingelesenen Dateien speichere ich nach dem Einlesen ebenfalls in einer eigenen DB-Tabelle.


Denn ich würde idR. nicht die Datei in die DB legen (geht zwar mit nem Blob aber is nich wirklich schön) - sondern
versuchen den Inhalt in die DB zu legen... Es gibt z.B. bei Java die Möglichkeit Word oder Excel-Files auszulesen...
===> Hiervon habe ich nicht gesprochen und das ist auch nicht die Lösung die ich anstrebe, weil das Einlesen der Daten mit diesem SSIS-Paket laufen muss, das dafür in einen Job der DB übernommen wird. Also eine interne Geschichte der SQL-Server-DB und nix mit JAVA!!!
Member: cheaptrick
cheaptrick Sep 08, 2010 at 13:04:59 (UTC)
Goto Top
Ich habe jetzt meine Script Task noch einmal umgebaut und auf den Laufwerkszugriff verzichtet. Es wird jetzt lediglich eine Variable ausgelesen, ich SQL Kommando auf eine DB-Tabelle ausgeführt und eine weitere Variable gesetzt.
Leider funktioniert das SSIS-Paket noch immer nicht. Kann es sein, dass mein Paket signiert werden muss um als Job zu laufen?
Member: cheaptrick
cheaptrick Sep 09, 2010 at 10:51:40 (UTC)
Goto Top
Ich habe das Paket jetzt ein wenig umgebaut und konnte dadurch auf die Script Task verzichten.
Jetzt funktioniert es auch als Job.
Frage mich weiterhin, wo das Problem bei der Script Task gelegen hat.