vbRichClient5, dhRPCService und SQLite-DB

12/03/2015 - 23:35 von Wolfgang Enzinger | Report spam
Hallo Olaf oder wer mir sonst weiterhelfen kann,

nach zigmaliger Verschiebung will ich's jetzt endlich angehen und meine
SQLite-Datenbanken via RPCService bearbeiten. Hintergrund: SQLite-DB auf
Netzlaufwerk geht nur lesend gut, schreibend geht die DB ziemlich bald kaputt,
da sich der SQLite-Core auf die Locking-Mechanismen des Dateisystems verlàsst,
NFS in dieser Hinsicht aber einiges zu wünschen übrig làsst (funktioniert
nicht so wie es sollte, s.a. http://www.sqlite.org/howtocorrupt.html, Abs.
2.1). Mit schwebt daher vor, dass ein Rechner die DB auf seinem lokalen
Laufwerk verwaltet und einen Dienst zur Verfügung stellt, über den die
Clientrechner andocken können.

Nun müssen ja COM-Objekte, die der Server an die Clients rausreicht,
serialisierbar sein; von den für den DB-Zugriff interessanten Klassen im
vbRichClient5 ist das, soweit ich weiss, nur für cRecordsets gewàhrleistet.

Es gibt somit nach meinem Verstàndnis kein dauerhaftes cConnection-Objekt. Da
stellt sich mir die Frage, wie ich es realisieren kann, mehrere
cRecordset-Updates (also auf unterschiedlichen cRecordset-Instanzen) in einer
Transaktion zu kapseln. Sollte man hier ein cConnection-Objekt als Singleton
am Server kreieren, dessen Transaktionsmethoden verwenden und von ihm seine
cRecordset-Objekte erzeugen lassen?

Apropos serialisierbar: in RPCDemoClient.vbp heisst es in einem Kommentar: "I
never use selfdefined serializable Objects in my own RPC-Scenarios, because
they need proper registering of their interfaces on both sides (client and
server)". Heisst das, dass die vbRichClient5.dll in diesem Szenario nicht
reg-free betrieben werden kann, wenn man cRecordset-Instanzen verwenden will?

Viele Grüsse,
Wolfgang
http://www.enzinger.net
 

Lesen sie die antworten

#1 Wolfgang Wolf
13/03/2015 - 07:46 | Warnen spam
Am 12.03.2015 um 23:35 schrieb Wolfgang Enzinger:
Hallo Olaf oder wer mir sonst weiterhelfen kann,




Olaf wird mir jetzt (vielleicht) vehement widersprechen, ich lasse es
darauf ankommen. Ich finde SQLite super, z.B. als Ersatz für Access. Was
allerdings für Access gilt, sehe ich für SQLite auch geltend. Diese DB
ist für die lokale Verwendung bestens geeignet, hat gegenüber Access
sogar viele Vorteile. Wenn ich das richtig sehe, willst du aber so was
wie einen DB-Server auf Basis von SQLite programmieren. Warum
eigentlich? Serverseitig haben wir wunderbare mit VB verwendbare
Datenbanken, auch solche die nichts kosten. Die skalieren ordentlich,
werden von Profis gewartet und gepflegt usw. Was versprichst du dir von
einen SQLite-Server?

Schönen Gruß
W. Wolf

Ähnliche fragen