Hallo zusammen,
ich hab ein kleines Problem. Ich erstelle eine neue Datei und will diese mit einem Filestream füllen. Dabei kommt es zu einer IOException:"Der Prozess kann nicht auf die Datei C:\DWS\testfolder\ersterbuchstabekundenname\Kundenname_Kundennummer\Mitarbeitername\irgendwas.doc zugreifen, da sie von einem anderen Prozess verwendet wird."
Die betreffenden Codezeilen sehen wie folgt aus:
fs = new FileStream(delim + dir[ii], FileMode.Open);
byte[] inhalt = new byte[(int)fs.Length];
fs.Read(inhalt, 0, (int)fs.Length);
string myfile = null;
if (!blob_Bezeichner.Equals(""))
{
myfile = checkurl + blob_Bezeichner + file_end[ii];
}
else
{
myfile = checkurl + dir[ii];
}
File.Create(myfile);
[COLOR="Red"]FileStream fstream = new FileStream(myfile, FileMode.Create);[/COLOR]
fstream.Write(inhalt, 0, (int)fs.Length);
fstream.Close();
fs.Close();
//Console.WriteLine("Kopiere "+ myfile + " nach "+ checkurl);
Add_Doc2WSS(myfile, 0, "", PERS_ID, "", "", cuser);
myfile = null;
In der rot markierten Zeile tritt der Fehler auf. Die ersten 5 oder 6 Dateien bereiten mir keine Probleme, aber dann beginnt der Spass.
Zur Info: Das Programm soll ca. 40.000 Ole-Objekte aus einer Access-DB extrahieren, die Dateien verschieben, umbenennen und anschließend in einen Sharepoint-Server hochladen. Deswegen erstelle ich die Ordner und Dateinamen aus mehreren Datenbankabfragen.
Aber zurück zum eigentlichen Thema. Ich hab jetzt schon die Prozessüberwachung von sysinternels mitlaufen um zu sehen, welcher Prozeß mir in die Quere kommt. Aber ich kann damit nur mein eigenes Programm sehen. Kann es sein, dass das erstellen der Datei noch nicht abgeschlossen ist, wenn mein Filestream loslegt?
Ich stehe zur Zeit nämlich auf dem Schlauch, was da schief läuft.
Über schnelle Hilfe würde ich mich freuen und bedanke mich schonmal im Voraus.