[+/-]
Wenn Sie MyODBC von einer Quelldistribution installieren, haben Sie mehr Einfluss auf den Inhalt und das Installationsverzeichnis der MyODBC-Komponenten. Außerdem können Sie dann MyODBC auch auf Plattformen installieren, für die keine vorkompilierte Binärversion verfügbar ist.
MyODBC-Quelldateien erhalten Sie entweder als Download oder über das Revisionskontrollsystem, das die MyODBC-Entwickler benutzen.
Auf Windows müsste eine Quellinstallation von MyODBC nur dann nötig sein, wenn Sie die Quelle oder die Installation ändern möchten. Wenn Sie unsicher sind, ob Sie von Quelldateien installieren sollten, verwenden Sie besser die Binärinstallation, die in Abschnitt 25.1.2.3.1, „Installation von MyODBC aus einer Binärdistribution unter Windows“, beschrieben ist.
Für eine Quellinstallation von MyODBC auf Windows sind verschiedene Tools und Pakete erforderlich:
MDAC, Microsoft Data Access SDK von http://www.microsoft.com/data/.
Ein geeigneter C-Compiler, wie etwa Microsoft Visual C++ oder der C-Compiler von Microsoft Visual Studio.
Ein kompatibles make
-Tool. In den
Beispielen dieses Abschnitts wird nmake
von Microsoft eingesetzt.
MySQL-Clientbibliotheken und Include-Dateien von MySQL 4.0.0 oder höher (vorzugsweise MySQL 4.0.16 oder höher). Diese sind notwendig, weil MyODBC neue Aufrufe und Strukturen verwendet, die erst ab dieser Version der Bibliothek vorhanden sind. Die MySQL-Clientbibliotheken und Include-Dateien erhalten Sie von http://dev.mysql.com/downloads/.
MyODBC-Quelldistributionen enthalten
Makefiles
, für die
nmake oder die
make
-Utility notwendig ist. Die
Distribution enthält Makefile
, um die
Release-Version, und Makefile_debug
, um
Debugging-Versionen der Treiberbibliotheken und DLLs zu
bauen.
Den Treiber bauen Sie wie folgt:
Sie laden die Quelldateien herunter und extrahieren sie
in einen Ordner. Dann gehen Sie in dieses Verzeichnis.
Der folgende Befehl geht davon aus, dass der Ordner
myodbc3-src
heißt:
C:\> cd myodbc3-src
Sie editieren Makefile
, um den Pfad
der MySQL-Clientbibliotheken und -Header-Dateien
anzugeben. Dann erstellen und installieren Sie mit
folgenden Befehlen die Release-Version:
C:\>nmake -f Makefile
C:\>nmake -f Makefile install
nmake -f Makefile erstellt die
Release-Version des Treibers und speichert die
Binärdateien in einem Unterverzeichnis namens
Release
.
nmake -f Makefile install installiert
(kopiert) die Treiber-DLLs und Bibliotheken
(myodbc3.dll
,
myodbc3.lib
) in Ihr
Systemverzeichnis.
Die Debugversion wird mit
Makefile_Debug
anstelle von
Makefile
erstellt:
C:\>nmake -f Makefile_debug
C:\>nmake -f Makefile_debug install
Um den Treiber sauber neu zu installieren, geben Sie Folgendes ein:
C:\>nmake -f Makefile clean
C:\>nmake -f Makefile install
Hinweis
Achten Sie darauf, in den Makefiles den richtigen Pfad
zu den MySQL-Clientbibliotheken und Header-Dateien
anzugeben. (Hierzu müssen Sie die Variablen
MYSQL_LIB_PATH
und
MYSQL_INCLUDE_PATH
einstellen.) Der
Standardpfad zur Header-Datei ist voraussichtlich
C:\mysql\include
und der
Standardpfad zur Bibliothek lautet
C:\mysql\lib\opt
für Release-DLLs
und C:\mysql\lib\debug
für
Debugging-Versionen.
Mehr über die Verwendung von nmake erfahren Sie unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vcce4/html/evgrfRunningNMAKE.asp.
Wenn Sie den Subversion-Baum zum Kompilieren verwenden,
bekommen alle Windows-spezifischen
Makefiles
den Namen
Win_Makefile*
.
Wenn die Treiberbibliotheken in das Systemverzeichnis
kopiert/installiert worden sind, können Sie anhand der
Beispiele aus dem Unterverzeichnis
samples
testen, ob die Bibliotheken
korrekt erstellt wurden:
C:\>cd samples
C:\>nmake -f Makefile all
[+/-]
Folgende Tools werden benötigt, um MySQL auf Unix aus der Quelldistribution zu erstellen:
Ein funktionierender ANSI C++-Compiler. gcc 2.95.2 oder höher, egcs 1.0.2 oder höher oder egcs 2.91.66, SGI C++ und SunPro C++ sind Beispiele für funktionierende Compiler.
Ein gutes make-Programm. Das make von GNU ist immer empfehlenswert und manchmal sogar obligatorisch.
MySQL-Clientbibliotheken und Include-Dateien von MySQL 4.0.0 oder höher (vorzugweise MySQL 4.0.16 oder höher). Diese sind notwendig, weil MyODBC neue Aufrufe und Strukturen benutzt, die erst ab dieser Version der Bibliothek zur Verfügung stehen. Sie erhalten die MySQL-Clientbibliotheken und Include-Dateien unter http://dev.mysql.com/downloads/.
Wenn Sie einen eigenen MySQL Server und/oder
Clientbibliotheken aus den Quelldateien gebaut haben,
müssen Sie bei der Erstellung der Bibliotheken
configure
mit der Option
--enable-thread-safe-client
verwendet
haben.
Außerdem müssen Sie sich vergewissern, dass die
Bibliothek libmysqlclient
als Shared
Library gebaut und installiert wurde.
Ein kompatibler ODBC-Manager muss installiert sein. Von
MyODBC ist bekannt, dass es mit den Managern
iODBC
und unixODBC
funktioniert. Siehe auch
Abschnitt 25.1.1.2.2, „ODBC-Treiber-Manager“.
Wenn Sie einen Zeichensatz verwenden, der nicht in die
MySQL-Clientbibliothek kompiliert ist, müssen Sie die
MySQL-Zeichendefinitionen aus dem Verzeichnis
charsets
in
SHAREDIR
installieren (nach
Voreinstellung ist dies
/usr/local/mysql/share/mysql/charsets
).
Wenn Sie den MySQL Server auf demselben Computer
installiert haben, müssten die Zeichendefinitionen
vorhanden sein. Mehr über Unterstützung von
Zeichensätzen erfahren Sie unter
Kapitel 10, Zeichensatz-Unterstützung.
Wenn Sie alle erforderlichen Dateien beisammen haben, extrahieren Sie die Quelldateien in ein getrenntes Verzeichnis. Danach führen Sie configure aus und erstellen mit make die Bibliothek.
Das configure-Skript gibt Ihnen viel Einfluss auf die Konfiguration Ihres MyODBC-Builds. Diesen Einfluss üben Sie aus, indem Sie auf der Kommandozeile Optionen für configure benutzen. Außerdem können Sie configure mit gewissen Umgebungsvariablen beeinflussen. Eine Liste der Optionen und Umgebungsvariablen für configure liefert Ihnen folgender Befehl:
shell> ./configure --help
Die gebräuchlichsten Optionen für configure werden im Folgenden beschrieben:
Um MyODBC zu kompilieren, müssen Sie den Pfad zu den
Include- und Bibliotheksdateien des MySQL-Clients mit
der Option
--with-mysql-path=
angeben, wobei DIR
DIR
das
Verzeichnis ist, in dem MySQL installiert wurde.
Die Optionen zum Kompilieren von MySQL ermitteln Sie,
indem Sie
ausführen.
DIR
/bin/mysql_config
Geben Sie den Standardpfad für die Header- und
Bibliotheksdateien für Ihren ODBC-Treiber-Manager an
(iODBC
oder
unixODBC
).
Wenn Sie iODBC
benutzen, aber
nicht im Standardverzeichnis
(/usr/local
) installiert haben,
müssen Sie eventuell die Option
--with-iodbc=
angeben, wobei DIR
DIR
das
Verzeichnis ist, in dem iODBC
installiert wurde.
Liegen die iODBC
-Header nicht
unter
,
können Sie ihren Speicherort mit der Option
DIR
/include--with-iodbc-includes=
angeben.
INCDIR
Dies gilt auch für Bibliotheken. Wenn sie nicht
unter
zu finden sind, können Sie die Option
DIR
/lib--with-iodbc-libs=
verwenden.
LIBDIR
Wenn Sie unixODBC
nutzen,
verwenden Sie die Option
--with-unixODBC=
(Groß- und Kleinschreibung beachten!), damit
configure standardmäßig nach
DIR
unixODBC
statt nach
iODBC
sucht.
DIR
ist das Verzeichnis,
wo unixODBC
installiert ist.
Wenn die unixODBC
-Header und
Bibliotheken nicht in
und
DIR
/include
liegen, müssen Sie die Optionen
DIR
/lib--with-unixODBC-includes=
und
INCDIR
--with-unixODBC-libs=
einstellen.
LIBDIR
Vielleicht möchten Sie ein anderes Installationspräfix
als /usr/local
vorgeben. Wenn Sie
zum Beispiel die MyODBC-Treiber in
/usr/local/odbc/lib
installieren
möchten, setzen Sie die Option
--prefix=/usr/local/odbc
.
Zum Schluss sieht der Konfigurationsbefehl in etwa wie folgt aus:
shell>./configure --prefix=/usr/local \
--with-iodbc=/usr/local \
--with-mysql-path=/usr/local/mysql
Es gibt noch mehr Optionen, die Sie einstellen müssen oder können, wenn Sie den MyODBC-Treiber vor dem Build konfigurieren.
Um den Treiber mit den Thread-sicheren
Clientbibliotheken von MySQL,
libmysqlclient_r.so
oder
libmysqlclient_r.a
, zu verlinken,
geben Sie folgende configure-Option
an:
--enable-thread-safe
Deaktiviert (die Standardeinstellung) wird dies wie folgt:
--disable-thread-safe
Diese Option ermöglicht die Erstellung der
Thread-sicheren Treiberbibliothek
libmyodbc3_r.so
durch das Verlinken
mit der Thread-sicheren MySQL-Clientbibliothek
libmysqlclient_r.so
(die
Erweiterungen hängen vom Betriebssystem ab).
Wenn das Kompilieren mit der Thread-sicheren Option
scheitert, dann möglicherweise deshalb, weil auf dem
betreffenden System die richtigen Thread-Bibliotheken
nicht gefunden werden konnten. Stellen Sie den Wert von
LIBS
also auf die für Ihr System
passende Thread-Bibliothek ein.
LIBS="-lpthread" ./configure ..
Die gemeinsam genutzte und die statische Version von MyODBC werden mit folgenden Optionen aktiviert und deaktiviert:
--enable-shared[=yes/no] --disable-shared --enable-static[=yes/no] --disable-static
Nach Voreinstellung werden alle Binärdistributionen
ohne Debugging gebaut (mit
--without-debug
konfiguriert).
Um Debugging-Informationen zu erhalten, erstellen Sie
den Treiber aus der Quellversion und stellen die Option
--with-debug
ein, wenn Sie
configure ausführen.
Diese Option steht nur für Quellbäume aus dem Subversion-Repository zur Verfügung, nicht für Quelldistributionen, die als Package geliefert werden.
Nach Voreinstellung wird der Treiber mit der Option
--without-docs
gebaut. Wenn Sie die
Dokumentation einrichten möchten, führen Sie
configure folgendermaßen aus:
--with-docs
Um die Treiberbibliotheken zu bauen, müssen Sie nur make laufen lassen.
shell> make
Wenn Fehler auftreten, berichtigen Sie sie und fahren im
Build-Prozess fort. Ist der Build nicht möglich, senden Sie
eine ausführliche E-Mail an
<myodbc@lists.mysql.com>
, um sich Hilfe zu
holen.
Auf den meisten Plattformen werden .so
(shared) Client-Bibliotheken standardmäßig nicht gebaut
oder unterstützt. Grund dafür sind die schlechten
Erfahrungen, die wir beim Erstellen von Shared Libraries
gemacht haben.
In solchen Fällen müssen Sie die MySQL-Distribution herunterladen und mit folgenden Optionen konfigurieren:
--without-server --enable-shared
Um den Treiber mit Shared Libraries zu erstellen, müssen
Sie die Option --enable-shared
für
configure angeben. Standardmäßig ist
diese Option für configure nicht
aktiviert.
Wenn Sie den Treiber mit --disable-shared
konfiguriert haben, können Sie aus den statischen
Bibliotheken die .so
-Datei mit
folgenden Befehlen erstellen:
shell>cd MyODBC-3.51.01
shell>make
shell>cd driver
shell>CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error \
-o .libs/libmyodbc3-3.51.01.so \
catalog.o connect.o cursor.o dll.o error.o execute.o \
handle.o info.o misc.o myodbc3.o options.o prepare.o \
results.o transact.o utility.o \
-L/usr/local/mysql/lib/mysql/ \
-L/usr/local/iodbc/lib/ \
-lz -lc -lmysqlclient -liodbcinst
Aus -liodbcinst
müssen Sie
-lodbcinst
machen, wenn Sie
unixODBC
anstelle von
iODBC
nutzen. Die Bibliothekspfade
müssen Sie dann auch entsprechend konfigurieren.
So wird die Datei libmyodbc3-3.51.01.so
erstellt und in das Verzeichnis .libs
gelegt. Diese Datei kopieren Sie in das
Installationsverzeichnis der MyODBC-Bibliotheken
(/usr/local/lib
) oder in das
lib
-Verzeichnis unter dem
Installationsverzeichnis, das Sie mit
--prefix
vorgegeben haben.
shell>cd .libs
shell>cp libmyodbc3-3.51.01.so /usr/local/lib
shell>cd /usr/local/lib
shell>ln -s libmyodbc3-3.51.01.so libmyodbc3.so
Die Thread-sichere Treiberbibliothek bauen Sie mit:
shell>CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3_r-3.51.01.so
catalog.o connect.o cursor.o dll.o error.o execute.o
handle.o info.o misc.o myodbc3.o options.o prepare.o
results.o transact.o utility.o
-L/usr/local/mysql/lib/mysql/
-L/usr/local/iodbc/lib/
-lz -lc -lmysqlclient_r -liodbcinst
Mit folgendem Befehl installieren Sie die Treiberbibliotheken:
shell> make install
Damit wird eines der folgenden Bibliotheken-Sets installiert:
Für MyODBC 3.51:
libmyodbc3.so
libmyodbc3-3.51.01.so
, wobei
3.51.01 die Treiberversion ist
libmyodbc3.a
Für Thread-sicheres MyODBC 3.51:
libmyodbc3_r.so
libmyodbc3-3_r.51.01.so
libmyodbc3_r.a
Für MyODBC 2.5.0:
libmyodbc.so
libmyodbc-2.50.39.so
, wobei 2.50.39
die Treiberversion ist
libmyodbc.a
Mehr über den Build-Prozess erfahren Sie in der Datei
INSTALL
, die mit der Quelldistribution
mitgeliefert wird. Achtung:
Wenn Sie den make-Befehl von Sun
verwenden, können Fehler entstehen. Das
gmake von GNU dagegen müsste auf allen
Plattformen funktionieren.
Um die einfachen Beispiele in der von Ihnen gebauten Distribution mit den Bibliotheken auszuführen, geben Sie folgenden Befehl ein:
shell> make test
Ehe Sie Tests laufen lassen, legen Sie den DSN 'myodbc3' in
odbc.ini
an und stellen die
Umgebungsvariable ODBCINI
auf die
korrekte odbc.ini
-Datei ein. Dann
läuft der MySQL Server. Eine
odbc.ini
-Beispieldatei wird mit der
Treiberdistribution mitgeliefert.
Sie können das Skript
samples/run-samples
auch so
umschreiben, dass es die gewünschten DSN-, UID- und
PASSWORD-Werte als Kommandozeilenargumente für jedes
Beispiel übergibt.
Um den Treiber auf Mac OS X (Darwin) zu erstellen, verwenden Sie folgendes configure-Beispiel:
shell>./configure --prefix=/usr/local
--with-unixODBC=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-gui=no
--host=powerpc-apple
Dieser Befehl setzt voraus, dass unixODBC
und MySQL in den Standardverzeichnissen installiert wurden.
Ist dies nicht der Fall, müssen Sie die Konfiguration
entsprechend ändern.
Auf Mac OS X werden mit der Option
--enable-shared
die
.dylib
-Dateien standardmäßig
erstellt. Die .so
-Dateien können Sie
folgendermaßen bauen:
shell>make
shell>cd driver
shell>CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3-3.51.01.so *.o
-L/usr/local/mysql/lib/
-L/usr/local/iodbc/lib
-liodbcinst -lmysqlclient -lz -lc
Die Thread-sichere Treiberbibliothek bauen Sie mit:
shell>CC=/usr/bin/gcc \
$CC -bundle -flat_namespace -undefined error
-o .libs/libmyodbc3-3.51.01.so *.o
-L/usr/local/mysql/lib/
-L/usr/local/iodbc/lib
-liodbcinst -lmysqlclienti_r -lz -lc -lpthread
Aus -liodbcinst
müssen Sie
-lodbcinst
machen, wenn Sie
unixODBC
anstelle von
iODBC
nutzen. Die Bibliothekspfade
müssen Sie dann auch entsprechend konfigurieren.
In der Apple-Version von GCC sind cc und gcc in Wirklichkeit symbolische Links zu gcc3.
Kopieren Sie diese Bibliothek in das Verzeichnis
$prefix/lib
und richten Sie einen
symbolischen Link auf libmyodbc3.so
ein.
Mit folgendem Befehl überprüfen Sie die Ausgabeeigenschaften für die gemeinsam genutzten Bibliotheken:
shell> otool -LD .libs/libmyodbc3-3.51.01.so
Zur Erstellung des Treibers auf HP-UX 10.x or 11.x nutzen Sie folgendes configure-Beispiel:
Wenn cc verwendet wird:
shell>CC="cc" \
CFLAGS="+z" \
LDFLAGS="-Wl,+b:-Wl,+s" \
./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql/lib/mysql
--enable-shared
--enable-thread-safe
Wenn gcc verwendet wird:
shell>CC="gcc" \
LDFLAGS="-Wl,+b:-Wl,+s" \
./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql
--enable-shared
--enable-thread-safe
Haben Sie den Treiber gebaut, so überprüfen Sie seine
Attribute mit chatr .libs/libmyodbc3.sl,
um festzustellen, ob der Pfad der MySQL-Clientbibliothek mit
der Umgebungsvariablen SHLIB_PATH
hätte
eingestellt werden müssen. Bei statischen Versionen können
Sie alle Optionen, die gemeinsam genutzte Bibliotheken
betreffen, ignorieren und configure mit
der --disable-shared
-Option laufen lassen.
Um den Treiber auf AIX zu bauen, gehen Sie nach folgendem configure-Beispiel vor:
shell>./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-thread-safe
Hinweis: Weitere Informationen über das Bauen und Einrichten statischer und gemeinsam genutzter Bibliotheken auf unterschiedlichen Plattformen finden Sie unter Using static and shared libraries across platforms'.
Achtung: Bitte lesen Sie den folgenden Abschnitt nur dann, wenn Sie daran interessiert sind, uns zu helfen oder Code zu testen. Wenn Sie MySQL Connector/ODBC lediglich auf Ihrem System ans Laufen bringen möchten, benutzen Sie bitte eine Standard-Release-Distribution.
Um auf den Quellbaum von MyODBC zugreifen zu können, müssen Sie Subversion installiert haben. Subversion ist kostenlos unter http://subversion.tigris.org/ erhältlich.
Folgende Tools sind erforderlich, um MyODBC von den Quellbäumen erstellen zu können:
autoconf 2.52 (oder neuer)
automake 1.4 (oder neuer)
libtool 1.4 (oder neuer)
m4
Den aktuellsten Quellbaum in der Entwicklung finden Sie unter unseren öffentlichen Subversion-Bäumen unter http://dev.mysql.com/tech-resources/sources.html.
Um die Connector/ODBC-Quelldateien auszuchecken, gehen Sie in das Verzeichnis, in welches Sie den zu speichernden MyODBC-Baum kopieren möchten, und geben folgenden Befehl ein:
shell> svn co http://svn.mysql.com/svnpublic/connector-odbc3
Danach dürfte eine Kopie des gesamten MyODBC-Quellbaums im
Verzeichnis connector-odbc3
vorliegen.
Auf Unix oder Linux erstellen Sie den Build aus diesen
Quelldateien wie folgt:
shell>cd connector-odbc3
shell>aclocal
shell>autoheader
shell>autoconf
shell>automake;
shell>./configure # Hier geben Sie Ihre Optionen an
shell>make
Weitere Informationen über den Build finden Sie in der Datei
INSTALL
, die in demselben Verzeichnis
liegt. Über configure-Optionen können Sie
unter
Abschnitt 25.1.2.4.2.1, „Typische configure-Optionen“,
Genaueres erfahren.
Nach dem Build führen Sie make install aus, um den MyODBC 3.51-Treiber auf Ihrem System zu installieren.
Wenn Sie bis make vorgedrungen sind, aber
die Distribution sich nicht kompilieren lässt, schicken Sie
bitte einen Bericht an <myodbc@lists.mysql.com>
.
Auf Windows können Sie zur Erstellung des Treibers die
Windows-Makefiles WIN-Makefile
und
WIN-Makefile_debug
benutzen. Weiteres
erfahren Sie unter
Abschnitt 25.1.2.4.1, „Installation von MyODBC aus einer Quelldistribution unter Windows“.
Nach dem ersten Auschecken, mit dem Sie den Quellbaum heruntergeladen haben, sollten Sie regelmäßig svn update laufen lassen, um Ihre Quelldateien mit den neuesten Versionen zu aktualisieren.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.