In vb.net habe ich mein Programm sqlite3.exe ausführen. Sqlite3 führt die folgenden Befehle, die in einer Textdatei gespeichert werden:Woher weiß ich, dass der von SQLite erstellte CSV geschlossen ist, damit ich ihn lesen kann?
.open prod.db
.mode csv
.output output.csv
SELECT STATEMENT
.output stdout
.exit
Sobald output.csv erstellt wurde, habe ich dann einen Stream laufen, um zu sehen, was die Ergebnisse waren und ich erhalte die folgende Fehlermeldung:
The process cannot access the file 'output.csv' because it is being used by another process.
Allerdings weiß ich, dass es nicht lange gesperrt ist, weil ich zum csv gehen und es manuell öffnen kann, nachdem es erstellt wurde.
Ich würde Code schreiben zu überprüfen, um zu sehen, wenn der Prozess abgeschlossen ist, aber ich bin mir nicht sicher, welcher Prozess ausgeführt wird, um dies zu überprüfen (ich bereits nach SQLite3.exe zu schließen). Mit anderen Worten, woher weiß ich, dass mein CSV für das Öffnen von Streamreader frei ist?
Gibt es eine Möglichkeit, einen Code am Ende, Zeilennummer der Zeilen, so dass Ihre co müsste auf das Ergebnis warten? (kein Fan von oder vertraut mit SQLite) – Plutonix
Check [this] (http://stackoverflow.com/a/5380257/6141544) Antwort von Manuel Alves. – droque
Perfekt! Ich war in der Lage, dies zu verwenden und überprüfen Sie die CSV statt den Prozess (die, ich schäme mich zu zugeben, ich dachte nicht zu tun ...!). – Dustin