2008-09-01 15 views
7

Ich habe derzeit eine MS Access-Anwendung, die eine Verbindung zu einer PostgreSQL-Datenbank über ODBC herstellt. Dies läuft erfolgreich in einem LAN mit 20 Benutzern (die jeweils ihre eigene Version von Access ausführen). Jetzt denke ich über einige Notfallwiederherstellungsszenarien nach und es scheint, dass eine schnelle und einfache Methode zum Schützen der Daten darin besteht, log shipping zum Erstellen eines Warm-Standby zu verwenden.Verwenden von MS Access & ODBC zum Herstellen einer Verbindung zu einem Remote-PostgreSQL

Dies führt mich diesen Warm-Standby an einem entfernten Ort zu denken setzen, aber dann habe ich die Frage:

verwendbar zu einer fernen Datenbank über ODBC-Zugriff verbinden? I.e. Die entfernte Datenbank ist vielleicht im selben Land mit ok Ping-Zeiten und ich habe eine 1mbit SDSL-Leitung.

Antwort

11

onnodb,

Der PostgreSQL-ODBC-Treiber ist actively developed und ein Access-Front-End mit PostgreSQL-Server kombiniert, meiner Meinung nach macht eine große Option in einem LAN für die schnelle Entwicklung. Ich war an einem relativ großen System beteiligt (über 100 PostgreSQL-Tabellen, 200+ Access-Formulare, 1000+ Access-Abfragen & Berichte) und es läuft seit einigen Jahren ausgezeichnet mit ~ 20 Benutzern. Alle Abfragen, die langsam ausgeführt werden, weil Access etwas Dummes tut, können im Allgemeinen einfach mit gelöst werden, und jeder wirklich datenintensive Code kann leicht in PostgreSQL-Funktionen verschoben und dann von Access aus aufgerufen werden.

Die einzige Haupt ODBC-bezogenen Problem ist, dass es keine Möglichkeit gibt, eine langsame Abfrage von Access zu töten, so dass wir oft Benutzer nur töten Access und dann massive Abfragen nur auf dem Server ausgeführt werden.

1

Ja.

Ich habe keine Erfahrung mit Zugriff auf PostgreSQL von einem Remote-Standort zu schlagen, aber ich habe erfolgreich Access als Front-End zu SQL Server & DB2 von einem Remote-Standort mit Erfolg verwendet.

Ironischerweise möchten Sie Access nicht verwenden, um eine Access-Datenbank (mdb) von einem Remotestandort aus über eine Verbindung mit hoher Latenzzeit als Front-End auszuführen. Da das Drücken der MDB Datei-basierte Operationen verwendet, ist es ziemlich einfach, mit einer beschädigten Datenbank zu enden, wenn Sie mehr als eine triviale Datenbank haben.

1

Es hängt ein Los in der Datenbank, die Sie als Back-End verwenden. Ich hatte rather terrible experiences with MySQL as a back-end. Stellen Sie sicher, dass der ODBC-Link, den Sie verwenden, aktiv entwickelt wurde, stabil und vollständig ist - das war bei MySQL definitiv nicht der Fall. Sie können auch nach Kompatibilitätsproblemen zwischen Access und Postgre suchen. Und es wird natürlich nicht schaden, ausgiebig zu testen.

Oh, und ich denke, es wäre absolut großartig, wenn Sie später hier mit Ihren Erfahrungen zurück schreiben könnten!

-1

PostgreSQL funktioniert hervorragend als Backend für MS Access, es gibt ein paar Support-Funktionen, die Sie verwenden sollten, um die Dinge zu vereinfachen. Sehen Sie hier für weitere Informationen zu diesem Thema.

http://www.amsoftwaredesign.com/smf/index.php?board=8.0

+0

Link ist tot :( –

+0

Die Domain parkt ich denke, es ist nicht mehr produziert, möglicherweise kommerzieller Voting zum Löschen.. –