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