Access-o-Mania

Access-Forum (Deutsch/German) => Access-Hilfe => Thema gestartet von: tomgom am Februar 21, 2012, 15:17:17

Titel: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: tomgom am Februar 21, 2012, 15:17:17
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.
Titel: Re: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: Wurliwurm am Februar 21, 2012, 15:46:52
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.
Titel: Re: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: tomgom am Februar 22, 2012, 08:04:33
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 ?
Titel: Re: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: DF6GL am Februar 22, 2012, 08:23:41
Hallo,

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

Offensichtlich hast Du keine Verbindung zu diesem Rechner etabliert.
Titel: Re: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: Josef P. am Februar 22, 2012, 09:10:00
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 (http://www.postgresql.org/docs/9.1/interactive/runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS).

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

mfg
Josef
Titel: Re: Zugriff auf eine PostgreSQL-DB von mehreren Rechnern über ein MS-Access-Frontend
Beitrag von: Wurliwurm am Februar 22, 2012, 09:27:32
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.