Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend

Begonnen von tomgom, Februar 21, 2012, 15:17:17

⏪ vorheriges - nächstes ⏩

tomgom

Hallo allesamt,

ich habe eine postgreSQL-DB (brautechnik auf Server \\tec0) erstellt und möchte nun mit Hilfe von MS-Access als Frontend Daten von verschiedenen vernetzten Rechnern (\\tec1, \\lab) in diese Datenbank einpflegen. Ich habe hierzu eine MS-Accessdatei (brautechnik.mdb auf \\tec0) erstellt und die in der postgreSQL-DB angelegten Tabellen mittels Verknüpfung in die mdb-Datei eingebunden.

Die dsn-Datei auf dem Rechner (\\tec0), auf dem die postgreSQL-DB liegt, schaut folgendermaßen aus:

Zitat
[ODBC]
DRIVER=PostgreSQL Unicode
DATABASE=brautechnik
PORT=5433
SERVER=localhost

Auf dem Rechner \\tec0 funktioniert der Zugriff auf die PostgreSQL-DB. Wenn ich nun aber auf einen der anderen Rechner die mdb-Datei auf \\tec0 starte, dann erfolgt folgende Fehlermeldung:

>> ODBC-Verbindung zu {PostgreSQL-ODBC-Driver {UniCode}}localhost fehlgeschlagen. <<

Und hier beginnt nun der für mich undurchschaubare Teil:

1. Muß denn auf jedem Rechner, auf dem ich auf die PostgreSQL-DB zugreifen will, diese MS-Access.mdb liegen oder kann ich durch eine entsprechende Freigabe auf dem "Server" \\tec0 von den anderen Rechnern Zugriff auf die DB erhalten.

2. Muß für jede der Rechner (tec1, lab) eine dsn-Datei angelegt werden ?

3.) Welcher Serveradresse muß in meinem Fall stehen? - localhost ja eigentlich nur, wenn ich von dem gleichen Rechner auf die DB zugreife, auf dem diese sich auch befindet.

4.) Kann ich den Server auch mittels Hostnamen ansprechen, z.B: "\\tec0" ?

In der postgresql.conf habe ich den Parameter listen_addresses = '*' gesetzt, sowie in der
Datei pg_hba.conf ist folgende Zeile unter IPV4 local connections hinzugefügt:
host     all        all        0.0.0.0/24        md5
-> dies sollte nur zum Testen als Einstellung dienen - der Zugriff wird dann später noch eingeschränkt.

Was Netzwerke und darüber verteilte Zugriffe auf DB´s und Programme anbelangt bin ich vollkommener Newbi, deswegen auch dies Unverständnis.

Vielen Dank im Voraus für die Hilfe.

Wurliwurm

Zitat von: tomgom am Februar 21, 2012, 15:17:17
>> ODBC-Verbindung zu {PostgreSQL-ODBC-Driver {UniCode}}localhost fehlgeschlagen. <<

Die ODBC-Verbindung muß auf jedem Client-PC eingerichtet sein. ODBC ist eine Brücke zwischen der lokalen Anwendung und der Datenbank. Sprich, das lokale Access spricht mit ODBC und OBDC spricht wiederum mit der Datenbank.

Das ließe sich eigentlich schon aus der Fehlermeldung "Verbindung zu ... localhost fehlgeschlagen" herauslesen, daß das mit dem Server nichts zu tun hat.

tomgom

Danke für die Antwort,

seltsamerweise funktioniert ja der Zugriff auf die PostgrSQL-DB vom PC aus, auf dem die Datenbank installiert ist, von den anderen PC´s jedoch nicht.

Wenn ich PGAdminIII starte und mir die die Eigenschaften des Servers hole, dann steht unter

Zitat
hostname: localhost
host-IP: 127.0.0.1

Müsste im Falle eines Netzzugrifffes auf die Datenbank nicht die entsprechende ServerIP bzw. der Servername (\\tec0) stehen, damit andere Rechner die Datenbank finden ?

DF6GL

Hallo,

prüf mal die physikalische und logische Netzwerkverbindung sowie die Connection-Einstellung zu \\tec0 ....

Offensichtlich hast Du keine Verbindung zu diesem Rechner etabliert.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Josef P.

Hallo!

Es ist zwar schon lange her, als ich das letzte Mal PostgreSQL probierte, ich glaube mich aber zu erinnern, dass man dort den Zugriff aus anderen Rechnern extra in den Postrges-Server-Einstellungen freigeben musste.
Mehr dazu gibt es bestimmt in der Online-Doku zu PostgreSQL.

BTW: Dass auf jedem Client die ODBC-Treiber für PostgreSQL installiert sind, setze ich einfach einmal voraus. ;)

mfg
Josef

Wurliwurm

Zitat von: tomgom am Februar 22, 2012, 08:04:33
Müsste im Falle eines Netzzugrifffes auf die Datenbank nicht die entsprechende ServerIP bzw. der Servername (\\tec0) stehen, damit andere Rechner die Datenbank finden ?

Ich würde ersteinmal sicherstellen, daß auf den Client-PCs der ODBC-Treiber für PostGre da ist. Anschließend auf jedem Client die ODBC-Verbindung zum Server einrichten, der Pfad ist natürlich der Server und nicht localhost. Diese Einstellungen werden in der Windows-Systemsteuerung gemacht.
Anschließend die Verbindung vom Access zum ODBC sollte kein Problem mehr sein.