Benutzer mit den meisten Antworten
SSIS - Datei innerhalb eines Data Flows lesen und schreiben

Frage
-
Der Data Flow startet mit dem Einlesen einer CVS-Datei. Deren Datensätze werden durch weitere Komponenten bearbeitet und sollen am Ende wieder in die selbe Datei zurück geschrieben (überschrieben) werden.
Beim Ausführen des Data Flow Tasks wird gestoppt. Anscheinend wird die Datei gar nicht geöffnet. Keine einzige Komponente des Data Flows wird bearbeitet, jedenfalls bleiben sie alle weiß. Ausser die letzte Komponente, die die bearbeiteten Daten wieder in die Datei zurückschreiben soll, ist rot.
Die Fehlermeldung sind:
- Warning: The process cannot access the file because it is being used by another process.
- Error: Cannot open the datafile "C:\bla.txt".
- Error: component "overwrite file" (1366) failed the pre-execute phase and returned error code 0xC020200E
Ich nehme an, die Datei wird nach dem Lesen nicht geschlossen. Deswegen kann die letzte Komponente nicht drauf schreiben.
Gibt es eine Lösung für mein Problem?
Antworten
-
Warning: The process cannot access the file because it is being used by another process.
...
Ich nehme an, die Datei wird nach dem Lesen nicht geschlossen. Deswegen kann die letzte Komponente nicht drauf schreiben.
Genau so ist es; zum Schreiben muss die Zieldatei exklusiv geöffnet werden, was aber nicht geht, weil sie noch im Lesenden Zugriff durch die Quelle ist.
Als Ziel musst Du eine anderen temporäre Datei nehmen; nachdem der Task fertig ist, kannst Du die alte Datei löschen und die neue Datei auf den alten Dateinamen umbenennen.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Christoph Muthmann Dienstag, 17. September 2013 13:47
- Als Antwort markiert Ionut DumaModerator Montag, 23. September 2013 09:05
Alle Antworten
-
Warning: The process cannot access the file because it is being used by another process.
...
Ich nehme an, die Datei wird nach dem Lesen nicht geschlossen. Deswegen kann die letzte Komponente nicht drauf schreiben.
Genau so ist es; zum Schreiben muss die Zieldatei exklusiv geöffnet werden, was aber nicht geht, weil sie noch im Lesenden Zugriff durch die Quelle ist.
Als Ziel musst Du eine anderen temporäre Datei nehmen; nachdem der Task fertig ist, kannst Du die alte Datei löschen und die neue Datei auf den alten Dateinamen umbenennen.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Christoph Muthmann Dienstag, 17. September 2013 13:47
- Als Antwort markiert Ionut DumaModerator Montag, 23. September 2013 09:05
-
Hallo briquette,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Wenn nicht, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.Danke und viele Grüße,
IonutIonut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.