phpbar.de logo

Mailinglisten-Archive

=?ISO-8859-1?Q?Merkw=FCrdige?= Fehler bei Abfrage aus Access2000 -> myODBC -> mySQL

Merkwürdige Fehler bei Abfrage aus Access2000 -> myODBC -> mySQL

Ulrich Kretschmer U.Kretschmer@bergruf.de
Wed Nov 6 17:55:40 2002


Hallo,
vielen Dank für die Antwort. Problem durch weiteres Herumprobieren gelöst! 
siehe unten
Ulrich


On Wed, 6 Nov 2002 11:59:12 +0100, Wolfgang Hauck <wbh@euta.net> wrote :

> Von wo wird die Query abgesetzt?
es ist eine "Abfrage" in Access. Letztendlich SELECT in bunter Verpackung. 
Die Abfrage gibt's in verschiedenen Darstellungen, u.a. auch als SQL-Code 
(im Microsoft-SQL-Dialekt, myODBC macht dann mySQL-SQL draus).
> Sollte das ne Sicht werden?
?! mySQL kann (noch) keine Views (dachte ich zumindest)

> Der Fehler kann verschiedene Ursachen haben:
> Die Bezeichnung der Verknüpfung stimmt nicht mit der Bezeichnung der 
mysql 
> - Tabelle überein...
nein, ist nicht der Fall

> Es wurden Veränderungen in der Struktur der mysql - Tabelle vorgenommen 
Also, ursprünglich funktionierte es, dann habe ich heute früh eine bereits 
vorhandene mySQL-Tabelle person_anrede erweitert (zusätzliche Felder), 
danach die Access-Verknüpfungen aktualisiert (!) und dann die Abfrage 
verändert. 
Die Änderung umfaßte die Hinzunahme der Verknüpfung auf die Tabelle 
person_anrede, die dort enthaltenen Anrede-Texte waren bisher "hart" in der 
Abfrage kodiert, ich wollte hier erweiterte Möglichkeiten haben, daher die 
verknüpfte Tabelle.
Nach dieser Änderung trat das beschriebene Fehlverhalten auf.
Jetzt habe ich versuchsweise die Tabelle person_anrede wieder rausgenommen, 
damit funktioniert die Abfrage wieder. Somit liegt es an der zusätzlich 
verknüpften Tabelle.
Ein weiterer Versuch ergab, daß es an der Art der Verknüpfung dieser 
Tabelle lag; aus einem RIGHT JOIN einen INNER JOIN gemacht und der Fehler 
tritt nicht mehr auf. (Hurra.) Auch wenn ich den Zusammenhang zwischen der 
JOIN-Art und der beschriebenen Fehlermeldung nicht verstehe.

(Es 
> "muss" bei jeglicher Strukturveränderung der Originaltabelle[mysql] die 
> Verknüpfung mit Access neu erstellt werden [keine automatische 
> Aktualisierung!!!]). 
habe ich gemacht

> ODBC ist eh schon eine brutale Bremse, wenn dann noch x IF - Abfragen in 
> die Query eingebaut werden (die IMHO eigentlich unnötig sind, da schreib 
> ich doch gleich nix rein und tausche nicht ein * gegen ein''), wird die 
> Abfrage uferlos langsam.
es sind bisher keine allzugroßen Datenmengen, von daher reicht mir die 
Performance im Moment. Im übrigen dachte ich, es sei für die Performance 
gut, wenn ich gerade _nicht_ mittels * _alle_ Datenfelder vom Server zum 
Client jage, sondern nur die, die ich wirklich brauche?!

> Warum baust du dir nicht eine Sicht zusammen (geht auch mit verknüpften 
> Tabellen) und fragst diese ab. Die Rest - Bedingungen können dann im 
> Serienbrief angegeben werden. Gleiches gilt für die Auswahl der Felder 
> (nehme tabelle.*). Es können sogar Beziehungen erstellt werden, 
allerdings 
> ohne referenzielle Integrität, Lösch- oder Aktualisierungsweitergabe. Bei 
> einer Sichterstellung werden diese Beziehungen dann berücksichtigt...
> Damit werden auch deine Queries übersichtlicher. Im übrigen kannst du 
auch 
> Sichten aus Sichten erstellen. Gerade für Anrede und solche Dinge gibts 
SET 
> - und ENUM - Felder, da sparst du dir etliche Verknüpfungen...
hört sich alles ganz toll an, aber ich dachte, mySQL kennt noch keine VIEWS?
Habe im Moment Vs. 3.23.38 im Einsatz - nicht ganz die aktuellste, aber es 
gab keinen akuten Bedarf, eine neuere zu installieren.

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive