[+/-]
ソース配布物から Connector/ODBC をインストールすることで、Connector/ODBC コンポーネントの内容やインストール ロケーションをより自由に設定することができます。また、コンパイル済みバイナリが利用できないプラットフォームでも、Connector/ODBC の構築およびインストールが可能になります。
Connector/ODBC ソースは、パッケージのダウンロード、または Connector/ODBC 開発者が使う修正管理システムからも入手することができます。
Windows では、ソースやインストールを変更したい場合にのみ、ソースから Connector/ODBC をインストールすることになります。ソースからインストールするべきか定かでない場合は、項24.1.2.3.1. 「Connector/ODBC をバイナリ配布物から Windows に インストールする」 で説明されている バイナリ インストールを行ってください。
ソースから Windows に Connector/ODBC をインストールするには、様々なツールやパッケージが必要です :
MDAC ( Microsoft Data Acces SDK http://www.microsoft.com/data/ )
Microsoft Visual C++ または、Microsoft Visual Studio に組み込まれた C コンパイラ といった、適切な C コンパイラ。
互換性のある make
ツール。Microsoft の nmake
は、このセクションで例として取り上げられています。
MySQL クライアント ライブラリと、MySQL 4.0.0 以降の取り込みファイル ( MySQL 4.0.16 以降を推奨 ) 。ここれは Connector/ODBC が、このバージョンのライブラリから適用された新しい呼び出しと構成を使用するため、必要になります。指定のクライアント ライブラリと取り込みファイルは、http://dev.mysql.com/downloads/ から入手できます。
Connector/ODBC
ソース配布物には、nmake
または他の make
ユーティリティを必要とする
Makefiles
が含まれています。配布物のうち、Makefile
はリリース
バージョンの構築、Makefile_debug
はドライバ ライブラリと DLL のデバッグ
バージョンの構築に使われます。
ドライバを構築は、次の手順で行って下さい :
ソースをダウンロードし、フォルダへ摘出してから、ディレクトリをそのフォルダに変更。次のコマンドでは、フォルダ名を
myodbc3-src
としています :
C:\> cd myodbc3-src
Makefile
を変更して、MySQL
クライアント ライブラリとヘッダ
ファイルの正確なパスを指定。その後、次のコマンドを使用して、リリース
バージョンを構築・インストールします :
C:\>nmake -f Makefile
C:\>nmake -f Makefile install
nmake -f Makefile
が、ドライバのリリース
バージョンを構築し、
Release
と呼ばれるサブディレクトリにバイナリを配置します。
nmake -f Makefile install
が、ドライバ DLL とライブラリ (
myodbc3.dll
、
myodbc3.lib
) をシステム
ディレクトリにインストール ( コピー )
します。
デバッグ
バージョンを構築するには、Makefile
よりも、次の Makefile_Debug
を使用してください :
C:\>nmake -f Makefile_debug
C:\>nmake -f Makefile_debug install
次を使用して、ドライバの削除およびインストールを行うことができます :
C:\>nmake -f Makefile clean
C:\>nmake -f Makefile install
注意 :
Makefiles では正しい MySQL クライアント
ライブラリとヘッダ
ファイルのパスを指定してください (
MYSQL_LIB_PATH
と
MYSQL_INCLUDE_PATH
変数を設定 )
。デフォルトのヘッダ ファイル
パスは、仮に C:\mysql\include
とします。デフォルトのライブラリ
パスは、リリース バージョンの DLLには
C:\mysql\lib\opt
、デバッグ
バージョンのものは
C:\mysql\lib\debug
と仮定します。
nmake の完全な使用方法については、http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vcce4/html/evgrfRunningNMAKE.asp を参照してください。
コンパイルにサブバージョン
ツリーを使用している場合、Windows
におけるすべての Makefiles
は、Win_Makefile*
と名づけられています。
ドライバ ライブラリがシステム
ディレクトリにコピー、もしくはインストールされたら、samples
サブディレクトリにあるサンプルを使用して、ライブラリが適切に構築されているかテストすることができます
:
C:\>cd samples
C:\>nmake -f Makefile all
[+/-]
Unix でソースから MySQL を構築する場合、次のツールが必要になります :
ANSI C++ 実用コンパイラ。gcc 2.95.2 以降、egcs 1.0.2 以降、もしくは egcs 2.91.66 、SGI C++ 、および SunPro C++ などが、使用できるコンパイラの例です。
優良な make プログラム。GNU make はいかなる場合にも推奨され、必須になっていることもあります。
MySQL クライアント ライブラリと、MySQL 4.0.0 以降の取り込みファイル。( MySQL 4.0.16 以降を推奨 ) 。これは Connector/ODBC が、このバージョンのライブラリから適用された新しい呼び出しと構成を使用するため、必要になります。指定のクライアント ライブラリと取り込みファイルは、http://dev.mysql.com/downloads/ から入手できます。
ソースから独自に MySQL サーバ、および /
またはクライアント
ライブラリを構築した場合、ライブラリの構築時に、configure
の実行で --enable-thread-safe-client
が使われていなければなりません。
また、libmysqlclient
ライブラリが、共用ライブラリとして構築され、インストールされているか確認してください。
互換性のある ODBC
マネージャーのインストールは必須です。Connector/ODBC
は、iODBC
および
unixODBC
マネージャとの適応が知られています。詳細は
項24.1.1.2.2. 「ODBC ドライバ マネージャー」
をご覧ください。
MySQL クライアント
ライブラリにコンパイルされていないキャラクタ
セットを使用している場合は、 MySQL
キャラクタ定義を charsets
ディレクトリから
SHAREDIR
(
デフォルトでは
/usr/local/mysql/share/mysql/charsets
) にインストールしてください。MySQL
サーバを同じコンピュータにインストールしていれば、これらは所定の位置にあるはずです。キャラクタ
セット
サポートの詳細は、章 9. キャラクタセットサポート
を参照してください。
必要なファイルが揃ったら、ソース ファイルを別々のディレクトリに解凍し、configure を実行、そして make を使ってライブラリを構築します。
configure スクリプトは、Connector/ODBC 構成をどのようにコンフィグするかにおいて、多大な制御力を提供します。通常は、configure コマンド ラインのオプションを使用してこれを行います。また、特定の環境変数を使って、configure に影響を与えることもできます。configure がサポートするオプションと環境変数のリストを見るには、次のコマンドを実行してください :
shell> ./configure --help
よく使われる configure オプションのいくつかを以下で説明します :
Connector/ODBC
をコンパイルするには、--with-mysql-path=
を使用して、ライブラリ ファイルを含む
MySQL
クライアントを供給する必要があります。DIR
DIR
は、MySQL
がインストールされるディレクトリです。
MySQL コンパイル
オプションは、
を実行することで判別が可能です。
DIR
/bin/mysql_config
標準ヘッダとライブラリ ファイル
パスを、ODBC ドライバ マネージャー (
iODBC
または
unixODBC
) に供給します。
iODBC
を使用しており、同時に
iODBC
がデフォルト
ロケーション ( /usr/local
)
にインストールされていない場合は、--with-iodbc=
オプションを使用しなければならないことがあります。DIR
DIR
は iODBC
がインストールされるディレクトリです。
もし iODBC
ヘッダが
に入っていない場合、DIR
/include--with-iodbc-includes=
オプションで、その所在を特定することができます。
INCDIR
ライブラリへのアプライ。
に入っていなければ、DIR
/lib--with-iodbc-libs=
オプションを使うことができます。
LIBDIR
unixODBC
を使用している場合、--with-unixODBC=
オプション ( 大文字と小文字を区別 )
を使ってconfigure
を作成します。DIR
iODBC
ではなく、unixODBC
を探してください。デフォルトでは、DIR
が unixODBC
のインストールされるディレクトリです。
unixODBC
ヘッダとライブラリが
と
DIR
/include
にない場合は、DIR
/lib-with-unixODBC-includes=
と
INCDIR
--with-unixODBC-libs=
オプションを使用してください。
LIBDIR
インストールの接頭子に、/usr/local
以外を指定したほうがよい場合もあります。例えば、/usr/local/odbc/lib
に Connector/ODBC
をインストールする場合、--prefix=/usr/local/odbc
オプションを使用します。
最終構成コマンドは次のようのものです :
shell>./configure --prefix=/usr/local \
--with-iodbc=/usr/local \
--with-mysql-path=/usr/local/mysql
Connector/ODBC を作成する前の構成での設定に、必要または望ましいオプションは他にも多数あります。
ドライバを、libmysqlclient_r.so
または libmysqlclient_r.a
等の
スレッドセーフ MySQL クライアント
ライブラリにリンクするには、次の
configure
オプションを指定してください :
--enable-thread-safe
また、次を使って無効 ( デフォルト ) にすることもできます。
--disable-thread-safe
このオプションを使用すると、スレッドセーフ
MySQL クライアント ライブラリ
libmysqlclient_r.so
( 拡張子は
OS 依存性 )
にリンクすることで、ドライバ
スレッドセーフ ライブラリ
libmyodbc3_r.so
を構築することができます。
スレッドセーフ
オプションとのコンパイルが失敗した場合、その原因として、システム上にある正しいスレッド
ライブラリが特定できないことが挙げられます。正しいスレッド
ライブラリが特定できるよう、LIBS
の値をセットしてください。
LIBS="-lpthread" ./configure ..
以下のオプションを使用して、Connector/ODBC の共用およびスタティック バージョンを、有効または無効にすることができます :
--enable-shared[=yes/no] --disable-shared --enable-static[=yes/no] --disable-static
デフォルトでは、すべてのバイナリ配布物は非デバッグ
バージョンとして構築されています (
--without-debug
で構成 ) 。
デバッグ情報を有効にするには、ソース配布物からドライバを構築し、configure
を実行する際に -with-debug
オプションを使用します。
このオプションは、Subversion レポジトリから得たソース ツリーにのみ利用が可能です。パッケージ済みのソース配布物には適用できません。
デフォルトでは、ドライバは
--without-docs
オプションで構築されます。ドキュメンテーションを作成したい場合は、次で
configure を実行してください
:
--with-docs
ドライバ ライブラリを構築するには、make を実行してください。
shell> make
なんらかのエラーが発生すれば、修正して構築を続けてください。構築が行えない場合は、詳細を明記のうえ、<myodbc@lists.mysql.com>
までメールでお問い合わせ下さい。
ほとんどのプラットフォームでは、MySQL が
.so
( 共有 )
を建築、またはサポートするデフォルト設定にはなっていません。これは共用ライブラリ構築の経験に基づいた情報です。
そのような場合は、MySQL 配布物をダウンロードし、次のオプションで構成してください :
--without-server --enable-shared
共用ドライバ
ライブラリを構築するには、--enable-shared
オプションを configure
で指定する必要があります。configure
が、デフォルト設定でこのオプションを有効にすることはありません。
--disable-shared
オプションを使用して構成した場合、次のコマンドで、スタティック
ライブラリから .so
ファイルを作成することができます :
shell>cd mysql-connector-odbc-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
iODBC
でなく、unixODBC
を使用している場合は、-liodbcinst
を必ず -lodbcinst
に変更し、ライブラリ
パスを適切に構成してください。
これで libmyodbc3-3.51.01.so
ファイルが構築され、.libs
ディレクトリに収容されます。このファイルを
Connector/ODBC ライブラリ インストール
ディレクトリ ( /usr/local/lib
、もしくは --prefix
と共に供給したインストレーション
ディレクトリ下の lib
ディレクトリ ) にコピーしてください。
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
スレッドセーフ ドライバ ライブラリを構築するには :
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
ドライバ ライブラリをインストールするには、次のコマンドを実行してください :
shell> make install
このコマンドは、次のライブラリ セットのうちのどれかをインストールします :
Connector/ODBC 3.51 の場合 :
libmyodbc3.so
libmyodbc3-3.51.01.so
ドライバのバージョンは
3.51.01
libmyodbc3.a
スレッドセーフ Connector/ODBC 3.51 の場合 :
libmyodbc3_r.so
libmyodbc3-3_r.51.01.so
libmyodbc3_r.a
MyODBC 2.5.0 の場合 :
libmyodbc.so
libmyodbc-2.50.39.so
ドライバのバージョンは
2.50.39
libmyodbc.a
構築手順の詳しい情報は、ソース配布物に添付されている
INSTALL
ファイルを参照してください。Sun から
make
を使用すると、エラーが発生する恐れがありますので注意してください。一方、GNU
gmake
は、すべてのプラットフォームで問題なく使用できるでしょう。
配布物に含まれている簡単なサンプルを、自作のライブラリで実行するには、次のコマンドを使用してください :
shell> make test
テストを実行する前に、odbc.ini
内に DSN 'myodbc3' を作成し、環境変数
ODBCINI
を、適切な
odbc.ini
ファイルに設定してください。また、MySQL
サーバは作動しています。サンプル
odbc.ini
は、ドライバ配布物に添付されています。
samples/run-samples
スクリプトを改変し、各サンプルへのコマンドライン引数として、所望の
DSN、UID、PASSWORD
値に受け渡すことも可能です。
Mac OS X (Darwin) でドライバを構築するには、次の configure 例を利用してください :
shell>./configure --prefix=/usr/local
--with-unixODBC=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-gui=no
--host=powerpc-apple
このコマンドでは、unixODBC
と
MySQL がデフォルト
ロケーションにインストールされたものと仮定します。そうでない場合は、適切に構成してください。
Mac OS X では、デフォルト設定により
--enable-shared
が
.dylib
ファイルを構築するようになっています。.so
を以下のように構築することができます :
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
スレッドセーフ ドライバ ライブラリを構築するには :
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
iODBC
でなく、unixODBC
を使用する場合は、-liodbcinst
を必ず -lodbcinst
に変更し、ライブラリ
パスを適切に構成してください。
Apple 版の GCC では、cc と gcc の双方が gcc3 へのシンボリック リンクになっています。
このライブラリを $prefix/lib
ディレクトリにコピーし、libmyodbc3.so
へ symlink してください。
このコマンドを使用して、アウトプット共用ライブラリのプロパティをクロスチェックすることができます :
shell> otool -LD .libs/libmyodbc3-3.51.01.so
HP-UX 10.x もしくは 11.x でドライバを構築するには、次の configure 例を利用してください :
cc を使用する場合 :
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
gcc を使用する場合 :
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
ドライバが構築されたら、chatr
.libs/libmyodbc3.sl
を使ってその属性をクロスチェックし、SHLIB_PATH
環境変数を使用して MySQL クライアント
ライブラリ
パスを設定する必要があるか確認してください。スタティック
バージョンでは、すべての共用ライブラリ
オプションを無視し、--disable-shared
オプションで configure
を実行してください。
AIX でドライバを構築するには、次の configure 例を利用してください :
shell>./configure --prefix=/usr/local
--with-unixodbc=/usr/local
--with-mysql-path=/usr/local/mysql
--disable-shared
--enable-thread-safe
注意 :異なるプラットフォームに跨るスタティックおよび共用ライブラリの構築と設定に関しては、「Using static and shared libraries across platforms」で詳細をご覧ください。
注意 :このセクションは、当社の新しいコードのテストに協力していただける場合にのみお読みください。単に MySQL Connector/ODBC をシステム上で稼動させるだけであれば、標準のリリース配布物を使用してください。
Connector/ODBC ソースツリーにアクセスするには、Subversion をインストールする必要があります。Subversion は http://subversion.tigris.org/ から無料で入手することができます。
ソースツリーから構築するには、次のツールが必要です :
autoconf 2.52 ( またはそれ以降 )
automake 1.4 ( またはそれ以降 )
libtool 1.4 ( またはそれ以降 )
m4
最新の開発ソースツリーは、http://dev.mysql.com/tech-resources/sources.html の公開 Subversion ツリーから得られます。
Connector/ODBC ソースを点検するには、Connector/ODBC ツリーのコピーを保存したいディレクトリに移動し、次のコマンドを使用します :
shell> svn co http://svn.mysql.com/svnpublic/connector-odbc3
これで、全 Connector/ODBC
ソースツリーが、ディレクトリ
connector-odbc3
にコピーされました。Unix または Linux
で、このソースツリーから構築する場合は、次の手順に従ってください
:
shell>cd connector-odbc3
shell>aclocal
shell>autoheader
shell>autoconf
shell>automake;
shell>./configure # Add your favorite options here
shell>make
構築に関する詳細は、同じディレクトリにある
INSTALL
ファイルを参照してください。configure
の他のオプションについては、項24.1.2.4.2.1. 「典型的な configure オプション」
をご覧ください。
構築が完了したら、make install を実行して、システムに Connector/ODBC 3.51 ドライバをインストールしてください。
make
ステージで配布物がコンパイルしない場合は、<myodbc@lists.mysql.com>
までお知らせください。
Windows でのドライバの構築に、Windows Makefiles
WIN-Makefile
および
WIN-Makefile_debug
をご利用ください。詳細は
項24.1.2.4.1. 「Connector/ODBC をソース配布物から Windows
にインストールする」
をご覧ください。
ソースツリーを得るための初回のチェックアウト操作のあと、ソースを定期的に最新バージョンにアップデートする svn update を実行してください。