Forums Neueste Beiträge
 

Zugriff auf ODBC-verknüpfte Tabelle in anderer MDB

16/12/2008 - 16:13 von Thilo Graf | Report spam
Hallo NG,
folgendes Konstrukt:
in einer Backend MDB, die auf einem Server liegt, ist eine ODBC
(myODBC Treiber) verknüpfte Tabelle die in einer mySQL Datenbank
liegt. Von einem Access Frontend aus sollen nun per VBA Daten in diese
mySQL Tabelle geschreiben werden.

Das ganze klappt solange die Backend MDB auf dem gleichen Rechner
liegt wie die Frontend MDB. Sobald ich die Dateien auf verschiedenen
Rechnern habe, bekomme ich einen ODBC Fehler sobald ich ein recordset
auf die Backendtabelle aufmachen will:

-> set backend = dbengine.opendatabase(strDatenbank) klappt noch

-> set rs = backend.openrecordet(strTabelle) klappt nicht.
Auf die Tabledefs der mySQL Tabelle kann ich über "backend.tabledefs
(strTabelle)" zugreifen, sie ist als "vorhanden"

Ich könnte natürlich auch die mySQL auf jedem Frontend Rechner per
myODBC direkt einbinden, will aber den Wartungsaufand auf den Clients
so gering wie möglich halten.

Weiss jemand Rat?

Viele Grüße
Thilo
 

Lesen sie die antworten

#1 Sascha Trowitzsch
16/12/2008 - 17:56 | Warnen spam
Hi Thilo,
"Thilo Graf" schrieb im Newsbeitrag
news:
Hallo NG,
folgendes Konstrukt:
in einer Backend MDB, die auf einem Server liegt, ist eine ODBC
(myODBC Treiber) verknüpfte Tabelle die in einer mySQL Datenbank
liegt. Von einem Access Frontend aus sollen nun per VBA Daten in diese
mySQL Tabelle geschreiben werden.

Das ganze klappt solange die Backend MDB auf dem gleichen Rechner
liegt wie die Frontend MDB. Sobald ich die Dateien auf verschiedenen
Rechnern habe, bekomme ich einen ODBC Fehler sobald ich ein recordset
auf die Backendtabelle aufmachen will:

-> set backend = dbengine.opendatabase(strDatenbank) klappt noch

-> set rs = backend.openrecordet(strTabelle) klappt nicht.
Auf die Tabledefs der mySQL Tabelle kann ich über "backend.tabledefs
(strTabelle)" zugreifen, sie ist als "vorhanden"

Ich könnte natürlich auch die mySQL auf jedem Frontend Rechner per
myODBC direkt einbinden, will aber den Wartungsaufand auf den Clients
so gering wie möglich halten.

Weiss jemand Rat?

Du meinst also, dass, nur weil im Backend eine Tablle von MYSQL eingebunden ist,
auf den Clients auf einen ODBC-Treiber verzichtet werden könnte?
Dem ist natürlich nicht so.
Das mdb-File auf dem Server ist nur ein File, weiter nichts. Das hàlt weiter
keine Funktionalitàt vor und ODBC-Zugriffe kann es nicht bieten - lediglich den
ConnectString zu einer Tabelle.
Die Connection selbst müssen dann die einzelnen Clients schon selbst
herstellen - per MyODBC.
Insofern gibt das Ganze eh keinen Sinn. Die im Backend verknüpfte Tabelle kann
dort auch rausgeschmissen werden.

Ciao, Sascha

Ähnliche fragen