Kapitel 9: MySQL-APIs 545
Wenn Sie zu diesem Fenster zur¨uckkehren und feststellen, dass die Trace-Option nicht
mehr angekreuzt ist, heißt das, dass Sie nicht den myodbcd.dll-Treiber benutzen (siehe
oben).
3. Starten Sie Ihre Applikation und versuchen Sie, eine Fehlfunktion zu bekommen.
Untersuchen Sie die MyODBC-Trace-Datei, um herauszufinden, was m¨oglicherweise schief
geht. Sie k¨onnen die a/jointfilesconvert/293675/bgesetzten Anfragen finden, indem Sie nach der Zeichenkette >mysql_
real_query in der ‘myodbc.log’-Datei suchen.
Sie sollten die Anfragen auch zus¨atzlich im mysql-Monitor oder in admndemo laufen lassen,
um herauszufinden, ob der Fehler bei MyODBC oder bei MySQL liegt.
Wenn Sie herausgefunden haben, was schief l¨auft, schicken Sie bitte nur die relevanten
MyODBC- oder ODBC-Log-Datei!
Wenn Sie nicht herausfinden k¨onnen, was schief l¨auft, besteht die letzte Option darin,
eine Archivdatei anzulegen (tar oder zip), die eine MyODBC-Trace-Datei, die ODBC-Log-
Datei und eine README-Datei enth¨alt, die das Problem erl¨autert. Schicken Sie diese an
ftp://support.mysql.com/pub/mysql/secret. Nur wir bei MySQL AB haben Zugriff
auf die Dateien, die Sie hochspielen, und wir gehen mit den Daten sehr diskret um!
Wenn Sie ein Programm erzeugen k¨onnen, das dieses Problem ebenfalls zeigt, laden Sie
dieses bitte ebenfalls hoch!
Wenn das Programm mit irgend einem anderen SQL-Server funktioniert, sollten Sie eine
ODBC-Log-Datei anlegen, in der Sie dasselbe in dem anderen SQL-Server ausf¨uhren.
Bedenken Sie, dass wir umso eher das Problem beheben k¨onnen, desto mehr Informationen
Sie uns zur Verf¨ugung stellen!
9.4 MySQL-C-API
Der C-API-Code wird mit MySQL ausgeliefert. Er ist in der mysqlclient-Bibliothek en-
thalten und erlaubt C-Programmen, auf eine Datenbank zuzugreifen.
Viele Clients in der MySQL-Quelldistribution sind in C geschrieben. Wenn Sie nach Beispie-
len f¨ur den Gebrauch der C-API suchen, schauen Sie sich diese Clients an. Sie finden Sie
im clients-Verzeichnis in der MySQL-Quelldistribution.
Viele andere Client-APIs (alle ausser Java) benutzen die mysqlclient-Bibliothek, um mit
dem MySQL-Server zu kommunizieren. Das heißt zum Beispiel, dass Sie viele derselben
Umgebungsvariablen nutzen k¨onnen, die von anderen Client-Programmen benutzt werden,
weil sie von der Bibliothek referenziert werden. Eine Liste dieser Variablen findet sich unter
Abschnitt 5.8 [Client-Side Scripts], Seite 281.
Der Client hat eine maximale Kommunikationspuffergr¨oße. Die anf¨anglich zugewiesene
Puffergr¨oße (16 KB) wird automatisch bis zur maximale Gr¨oße (16 MB) vergr¨oßert. Weil
Puffergr¨oßen nur bei Bedarf vergr¨oßert werden, bedeutet die einfache Erh¨ohung der max-
imalen Gr¨oße nicht per se, dass mehr Ressourcen benutzt werden. Die
¨
Uberpr¨ufung der
Gr¨oße ist haupts¨achlich eine Pr¨ufung auf irrt¨umliche Anfragen und Kommunikationspakete.
Der Kommunikationspuffer muss Groß genug sein, um ein einzelnes SQL-Statement
aufzunehmen (f¨ur den Client-Server-Verkehr) und eine Zeile zur¨uckgegebener Daten (f¨ur
Kommentare zu diesen Handbüchern