phpbar.de logo

Mailinglisten-Archive

Access als MySQL-Client - NewbieFragen

Access als MySQL-Client - NewbieFragen

Michael Donning mysql-de_(at)_lists.bttr.org
Thu, 18 Oct 2001 12:05:56 +0200


Moin Uli,

> From: ulli [mailto:hallo_ulli_(at)_gmx.de]
> Hallo MySQL-Profis,
>
> ich plane den Einsatz von MySQL auf NT4 Server als Backend für 45
> WIN98-Clients mit einem A2k-Runtime Programm.
>
> Jetzt steht in den Dokumentationen immer, Access wäre das ideale Frontend
> für MySQL, bzw. umgekehrt MySQL ist das beste Backend für
> Access-Frontends.

naja, so möchte ich das nicht formulieren. MySQL ist eine für bestimmte
Zwecke tolle DB und Access ist als Single-User System auch ganz Nett.

Als Front-End ist Access seitens MS natürlich primär für den MS SQL-Server
gedacht, den man sich natürlich nicht immer antun muß/will.

Als Front-End für MySQL sind ein paar Punkte zu beachten (siehe MySQL
Handbuch, (für Windows-User empfehle ich immer die PDF-Variante)).
Unerwünschte Seiteneffekte können ggf. auftreten und müssen ggf. ausgetestet
werden.

Subselect (und ggf. auch andere kompliziertere Abfragen) werden von Access
"emuliert". D.H. Access zieht sich alle beteiligten Tabellen zunächst
komplett in den Speicher und macht die Joins dann selbst. Bei großen
Tabellen kann das natürlich sehr belastend und langsam werden.
Access-Typische "Filter" werden erst client-seitig ausgeführt und sind daher
nur für einen kleinen Tabellen/Abfrage Umfang zu empfehlen.

Access bietet sogenannte "Pass Through" Abfragen. Dort ist garantiert, daß
MySQL auch tatsächlich die Verarbeitung selbst ausführt, ob diese Abfragen
dann auch aktualisierbar sind, sollte man im Zweifelsfall lieber prüfen.

Bei dem Server würde ich überlegen anstatt NT4 vielleicht Linux zu
verwenden. Ich glaube, daß die Linux/Unix-Version schneller ist als die W32
Version (habe jetzt aber keine Benchmarkvergleiche parat).


> Leider habe ich aber im Internet bisher so gut wie keine Manuals gefunden,
> wie man die Programme optimal aufeinander anpasst :-(

ja, abgesehen vom MySLQ Manual siehts mager aus.

>
> Das geht schon mit dem MyODBC-Treiber los: Wie er installiert
> wird kann man
> auf dutzenden Webseiten nachlesen - aber was z.B. die einzelnen
> Optionen in
> der Treiberkonfiguration bedeuten - Fehlanzeige :-(

welche gesetzt werden sollen steht im MySQL-Handbuch. Ansonsten sollte m.E.
höchstens noch die Protokoll-Kompression (bei langsamen Leitungen) aktiviert
werden. Zur Kompression: das klappt nur, wenn der MySql-Server entsprechend
compiliert ist, die Standard-Binaries sind dies meist nicht.

> Was ist mit Beziehungen zwischen Tabellen? Muss man die in jedem
> SQL-Befehl
> definieren, oder lassen die sich mit dem Tabellendesign abspeichern wie
> unter Access?

Im Create-Befehl gibt es zwar inzwischen Statements dafür, ich weiß aber
nicht, ob die überhaupt irgendwo abgelegt werden.

> Wie realisiert man referenzielle Integrität?
Gar nicht. bzw. Client-seitig. bzw. mit PostGre-SQL.

> Das MySQL-Manual ist leider auf englisch und geht auch kaum auf
> Access ein.
das ist richtig, aber grundsätzlich muß man hier (leider) sagen, wer
englisch kann ist klar im Vorteil

Ich benutze Access gelegentlich als Front-End für MySQL. Das klappt
eigentlich ganz gut. Nur muß man den Leuten manchmal sagen, daß es nicht so
sinnvoll ist einfach "mal eben" per Doppelklick eine Tabelle mit 17Mio
Einträgen zu öffnen um zu schauen "was drin ist".

Wenn die Größe der beteiligten Tabellen sich in Grenzen hält könnte das
Ganze aber durchaus klappen. Mit Einschränkungen aber wohlgemerkt. Ungeklärt
auf meiner Seite ist zum einen das Locking (ich weiß nicht wie gut die neuen
Transaktionen für die Berkley Tabellen über ODBC abgebildet werden) und die
ref. Integrität (gibts wohl nicht).

Gruss,
Michael

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive