目次
- 23.1 MySQL Connector/ODBC
- 23.2 MySQL Connector/Net
- 23.3 MySQL Connector/J
- 23.4 MySQL Connector/C++
- 23.5 MySQL Connector/Python
- 23.6 組み込み MySQL サーバーライブラリ libmysqld
- 23.7 MySQL C API
- 23.7.1 MySQL C API の実装
- 23.7.2 MySQL サーバーと MySQL Connector/C の同時インストール
- 23.7.3 C API クライアントプログラムの例
- 23.7.4 C API クライアントプログラムの構築と実行
- 23.7.5 C API データ構造
- 23.7.6 C API 関数の概要
- 23.7.7 C API 関数の説明
- 23.7.8 C API プリペアドステートメント
- 23.7.9 C API プリペアドステートメントデータ構造
- 23.7.10 C API プリペアドステートメント関数の概要
- 23.7.11 C API プリペアドステートメント関数の説明
- 23.7.12 C API スレッド関数の説明
- 23.7.13 C API 組み込みサーバー関数の説明
- 23.7.14 C API クライアントプラグイン関数
- 23.7.15 C API を使用する場合の一般的な質問と問題
- 23.7.16 自動再接続動作の制御
- 23.7.17 複数ステートメント実行の C API サポート
- 23.7.18 C API プリペアドステートメントの問題
- 23.7.19 C API プリペアドステートメントの日時値の処理
- 23.7.20 C API のプリペアド CALL ステートメントのサポート
- 23.8 MySQL PHP API
- 23.9 MySQL Perl API
- 23.10 MySQL Python API
- 23.11 MySQL Ruby API
- 23.12 MySQL Tcl API
- 23.13 MySQL Eiffel ラッパー
MySQL Connector はクライアントプログラムに MySQL サーバーへの接続を提供します。API は MySQL プロトコルおよび MySQL リソースへの低レベルアクセスを提供します。Connector と API のどちらも、ODBC、Java (JDBC)、Perl、Python、PHP、Ruby、およびネイティブ C と組み込み MySQL インスタンスなどのほかの言語や環境から、MySQL ステートメントに接続し、実行することができます。
Connector バージョン番号は MySQL Server バージョン番号と関係がありません。表23.2「MySQL Connector のバージョンと MySQL Server のバージョン」を参照してください。
MySQL Connector
Oracle では多数のコネクタを開発しています。
Connector/ODBC は ODBC (Open Database Connectivity) API を使用して、MySQL に接続するためのドライバサポートを提供します。サポートは、Windows、Unix、および OS X プラットフォームからの ODBC 接続で使用できます。
-
Connector/Net により、開発者は MySQL に接続する .NET アプリケーションを作成できます。Connector/Net は完全に機能する ADO.NET インタフェースを実装し、ADO.NET 対応ツールで使用するためのサポートを提供します。Connector/Net を使用するアプリケーションは、サポートされる任意の .NET 言語で書くことができます。
MySQL Visual Studio Plugin は Connector/Net および Visual Studio 2005 と連携します。このプラグインは MySQL DDEX プロバイダであり、これは Visual Studio で使用可能なスキーマおよびデータ操作ツールを使用して、MySQL データベース内にオブジェクトを作成し、編集できることを意味します。
Connector/J は標準 JDBC (Java Database Connectivity) API を使用して、Java アプリケーションから、MySQL に接続するためのドライバサポートを提供します。
Connector/Python は Python DB API バージョン 2.0 に準拠する API を使用して、Python アプリケーションから、MySQL に接続するためのドライバサポートを提供します。追加の Python モジュールまたは MySQL クライアントライブラリは必要ありません。
Connector/C++ により、C++ アプリケーションは MySQL に接続できます。
MySQL C API
C アプリケーション内で、MySQL をネイティブに使用することへの直接のアクセスには、2 つの方法があります。
C API は、
libmysqlclient
クライアントライブラリ経由で、MySQL クライアント/サーバープロトコルへの低レベルアクセスを提供します。これは、MySQL サーバーのインスタンスに接続するために使用する主な方法で、MySQL コマンド行クライアントと、ここで詳しく説明している多くの MySQL Connector およびサードパーティー API のどちらにも使用されています。-
libmysqld
は MySQL サーバーのインスタンスを C アプリケーションに組み込むことができる組み込み MySQL サーバーライブラリです。libmysqld
は MySQL 配布に含まれますが。
セクション23.7.1「MySQL C API の実装」も参照してください。
C アプリケーションから MySQL にアクセスするか、この章の Connector や API でサポートされていない言語で、MySQL へのインタフェースを構築するには、C API から始めます。このプロセスに役立つ、多くのプログラマ向けユーティリティーがあります。セクション4.7「MySQL プログラム開発ユーティリティー」を参照してください。
サードパーティー MySQL API
この章で説明している残りの API は、特定のアプリケーション言語から MySQL へのインタフェースを提供します。これらのサードパーティーソリューションは Oracle で開発されていないか、サポートされていません。それらの使用と機能に関する基本情報は、参考目的でのみここで提供しています。
すべてのサードパーティー言語 API は、libmysqlclient
を使用するか、または ネイティブドライバを実装するか、2 つの方法のいずれかを使用して開発されています。2 つのソリューションには異なるメリットがあります。
libmysqlclient
は MySQL クライアントアプリケーションと同じライブラリを使用するため、MySQL と完全に互換性があります。ただし、機能セットは、libmysqlclient
から公開された実装とインタフェースに制限され、データがネイティブ言語と MySQL API コンポーネント間でコピーされるため、パフォーマンスが低下することがあります。ネイティブドライバはホスト言語または環境内に完全に収まる MySQL ネットワークプロトコルの実装です。ネイティブドライバはコンポーネント間でのデータのコピーが少ないため高速であり、標準 MySQL API によって使用できない高度な機能を提供できます。さらに、ネイティブドライバコンポーネントの構築には、MySQL クライアントライブラリのコピーが必要ないため、ネイティブドライバは、エンドユーザーにとって構築とデプロイが簡単です。
表23.1「MySQL API およびインタフェース」に MySQL で使用可能な多くのライブラリとインタフェースを一覧表示しています。表23.2「MySQL Connector のバージョンと MySQL Server のバージョン」に、各コネクタがサポートする MySQL サーバーのバージョンを示しています。
表 23.1 MySQL API およびインタフェース
環境 | API | 型 | メモ |
---|---|---|---|
Ada | GNU Ada MySQL バインディング | libmysqlclient |
GNU Ada 用の MySQL バインディングに関するドキュメントを参照してください。 |
C | C API | libmysqlclient |
セクション23.7「MySQL C API」を参照してください。 |
C++ | Connector/C++ | libmysqlclient |
「MySQL Connector/C++ 8.0 Developer Guide」を参照してください。 |
MySQL++ | libmysqlclient |
MySQL++ の Web サイトを参照してください。 | |
MySQL wrapped | libmysqlclient |
「MySQL wrapped」を参照してください。 | |
Cocoa | MySQL-Cocoa | libmysqlclient |
Objective-C Cocoa 環境と互換性があります。http://mysql-cocoa.sourceforge.net/ を参照してください。 |
D | MySQL for D | libmysqlclient |
MySQL for D を参照してください。 |
Eiffel | Eiffel MySQL | libmysqlclient |
セクション23.13「MySQL Eiffel ラッパー」を参照してください。 |
Erlang | erlang-mysql-driver |
libmysqlclient |
「erlang-mysql-driver 」を参照してください。 |
Haskell | Haskell MySQL バインディング | ネイティブドライバ | Brian O'Sullivan のピュア Haskell MySQL バインディングに関するドキュメントを参照してください。 |
hsql-mysql |
libmysqlclient |
Haskell 用の MySQL ドライバに関するドキュメントを参照してください。 | |
Java/JDBC | Connector/J | ネイティブドライバ | 「MySQL Connector/J 5.1 Developer Guide」を参照してください。 |
Kaya | MyDB | libmysqlclient |
MyDB に関するドキュメントを参照してください。 |
Lua | LuaSQL | libmysqlclient |
LuaSQL に関するドキュメントを参照してください。 |
.NET/Mono | Connector/Net | ネイティブドライバ | 「MySQL Connector/NET Developer Guide」を参照してください。 |
Objective Caml | OBjective Caml MySQL バインディング | libmysqlclient |
Objective Caml 用の MySQL バインディングに関するドキュメントを参照してください。 |
Octave | GNU Octave 用データベースバインディング | libmysqlclient |
GNU Octave 用データベースバインディングに関するドキュメントを参照してください。 |
ODBC | Connector/ODBC | libmysqlclient |
「MySQL Connector/ODBC Developer Guide」を参照してください。 |
Perl |
DBI /DBD::mysql
|
libmysqlclient |
セクション23.9「MySQL Perl API」を参照してください。 |
Net::MySQL |
ネイティブドライバ | CPAN の「Net::MySQL 」を参照してください。 |
|
PHP |
mysql 、ext/mysql インタフェース (非推奨) |
libmysqlclient |
「Original MySQL API」を参照してください。 |
mysqli 、ext/mysqli インタフェース |
libmysqlclient |
「MySQL Improved Extension」を参照してください。 | |
PDO_MYSQL |
libmysqlclient |
「MySQL Functions (PDO_MYSQL)」を参照してください。 | |
PDO mysqlnd | ネイティブドライバ | ||
Python | Connector/Python | ネイティブドライバ | 「MySQL Connector/Python Developer Guide」を参照してください。 |
MySQLdb | libmysqlclient |
セクション23.10「MySQL Python API」を参照してください。 | |
Ruby | MySQL/Ruby | libmysqlclient |
libmysqlclient を使用します。セクション23.11.1「MySQL/Ruby API」を参照してください。 |
Ruby/MySQL | ネイティブドライバ | セクション23.11.2「Ruby/MySQL API」を参照してください。 | |
Scheme | Myscsh |
libmysqlclient |
Myscsh に関するドキュメントを参照してください。 |
SPL | sql_mysql |
libmysqlclient |
SPL の sql_mysql を参照してください。 |
Tcl | MySQLtcl | libmysqlclient |
セクション23.12「MySQL Tcl API」を参照してください。 |
表 23.2 MySQL Connector のバージョンと MySQL Server のバージョン
Connector | Connector のバージョン | MySQL Server のバージョン |
---|---|---|
Connector/C | 6.1.0 GA | 5.6、5.5、5.1、5.0、4.1 |
Connector/C++ | 1.0.5 GA | 5.6、5.5、5.1 |
Connector/J | 5.1.8 | 5.6、5.5、5.1、5.0、4.1 |
Connector/Net | 6.5 | 5.6、5.5、5.1、5.0 |
Connector/Net | 6.4 | 5.6、5.5、5.1、5.0 |
Connector/Net | 6.3 | 5.6、5.5、5.1、5.0 |
Connector/Net | 6.2 (サポートされなくなりました) | 5.6、5.5、5.1、5.0 |
Connector/Net | 6.1 (サポートされなくなりました) | 5.6、5.5、5.1、5.0 |
Connector/Net | 6.0 (サポートされなくなりました) | 5.6、5.5、5.1、5.0 |
Connector/Net | 5.2 (サポートされなくなりました) | 5.6、5.5、5.1、5.0 |
Connector/Net | 1.0 (サポートされなくなりました) | 5.0、4.0 |
Connector/ODBC | 5.1 | 5.6、5.5、5.1、5.0、4.1.1+ |
Connector/ODBC | 3.51 (Unicode はサポートされていません) | 5.6、5.5、5.1、5.0、4.1 |