Hallo,
ich habe ein VB-Programm, welches auf einer Datenbank arbeitet. Das Programm läuft mehrmals auf verschiedenen PC’s und greift über Netzwerk auf die DB zu.
Um die Datenbank zu kopieren, muss ich jeden Zugriff von ihr abkappen.
Wie kann ein Programm einem anderen möglichst einfach mitteilen:
„Datenbankverbindung kappen, ich will kopieren!“, wie kann das andere antworten: „OK, Verbindung unterbrochen!“ ?
Flag in einer Datei setzen, die alle lesen, finde ich doof und umständlich?
also probiere es doch mal via Winsock?!
Eine andere Idee:
Ich habe mir mal ein API-Beispiel gezogen, das angeblich geöffnete Dateien kopieren kann! Ausprobiert habe ich es noch nicht aber wenn Du willst kann ich es Dir mal zuschicken.
Geöffnete Dateien kann ich auch kopieren. Die Frage ist nur, ob eine geöffnete Datei immer richtige Daten enthält? Wenn ein Datenbanksteuerelement gerade Daten da rein schreibt und ich kopier die, dann kann es doch sein, dass ich Fehler mitkopier, dh. ein Stück alte und ein Stück neue Datenbank, oder nicht ?
Hallo,
ich habe ein VB-Programm, welches auf einer Datenbank
arbeitet. Das Programm läuft mehrmals auf verschiedenen PC’s
und greift über Netzwerk auf die DB zu.
Um die Datenbank zu kopieren, muss ich jeden Zugriff von ihr
abkappen.
Wie kann ein Programm einem anderen möglichst einfach
mitteilen:
„Datenbankverbindung kappen, ich will kopieren!“, wie kann das
andere antworten: „OK, Verbindung unterbrochen!“ ?
Flag in einer Datei setzen, die alle lesen, finde ich doof und
umständlich?
Hallo !
Ganz im Gegenteil , ein Flag in einer Datei wie beschrieben vorzusehen , ist gar nicht so schlecht !
Man kann eine Datei temporäre Eigenschaften geben , so das sie im Ram bleibt , und die Disk nicht starten muß .( Mit Win-Api gehts jedenfalls )
Man könnte auch versuchen , eine Datei vor einem Schließvorgang zu löschen , also die Datei ständig offen halten um sie dann zu zertören , wenn sie nicht mehr gebraucht wird .
Hier wird die Datei im Puffer für Disk-I/O gehalten , es sei denn das Ram wird anders benötigt .
Allerdings sind die anderen Methoden , welche auch direkt zur Kommunikation zwischen Programmteilen vorgesehen sind , sicher die elegantere Lösung . Hierbei sehe ich jedoch die Schwierigkeit , welche Programme müssen denn alles benachrichtigt werden ? Dieses Problem kann man ebenfalls leichter mit Dateizugriff lösen .