Nachrichten zwischen Programminstanzen?

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?

Ralph

Hallo,

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.

MfG
keven

DDE bzw. NetDDE wäre dafür prädestiniert!

Auch mit COM/DCOM-Kommunikation und Transactions ist das ganze lösbar.

LG, Stefan.

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 :smile: ?

Ralph

stimmt, daran habe ich auch nicht mehr gedacht.
Also entweder via Winsock die „Programme“ Daten austauschen lassen oder eben wie Stefan gesagt hat.

MfG
Keven

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 .

MfG
Matthias

Ralph

DDE bzw. NetDDE wäre dafür prädestiniert!

Mal ganz grob gefragt: Wie geht das? Wenn ich das wüsste, dann hätte ich ´den Artikel hier nicht gepostet :smile:

Ralph

wenn ich’s genau wüßte, dann hätt’ ich’s hier geschrieben :wink:

da ich xDDE noch nie gebraucht habe, bin ich auf diesem gebiet unerfahren. aber ein blick in die msdn wird dir tür und tor öffnen!

lg, sf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]