.NET アプリケーションと MySQL
サーバの間のすべてのアプリケーションは、MySqlConnection
オブジェクトを通して経路指定されます。アプリケーションがサーバと交信できるようになる前に、MySqlConnection
オブジェクトはインスタンスが作成され、構成され、開かれていなければなりません。
MySqlHelper
クラスを使用している時でも、MySqlConnection
オブジェクトはヘルパー
クラスによって作成されます。
このセクションでは、MySqlConnection
オブジェクトを使用して MySQL
に接続する方法を説明します。
MySqlConnection
オブジェクトは、接続ストリングを使って構成されます。接続ストリングは、セミコロンで区切られたサーバ
キー/値のペアを含みます。それぞれのキー/値のペアは等号記号で結ばれます。
以下は接続ストリングのサンプルです。
NotInheritable Public Class MySqlCommand_ Inherits Component_ Implements IDbCommand, ICloneable
この例では、MySqlConnection
オブジェクトは、127.0.0.1
で MySQL
サーバに接続するよう構築されています。ユーザ名は
root
、パスワードは
12345
です。すべてのステートメントのデフォルトのデータベースは
test
データベースになります。
次のオプションは通常的に使用されるものです ( オプションの完全なリストは 項24.2.3.3.15. 「ConnectionString」 の API 使用で閲覧できます ) :
Server
:接続する MySQL
のインスタンスの名前またはネットワーク
アドレス。デフォルトは
localhost
。エイリアスには
host
、Data Source
、DataSource
、Address
、Addr
、Network Address
がある。
Uid
:接続に使用する MySQL
ユーザ アカウント。エイリアスには
User Id
、Username
、User name
がある。
Pwd
:使用されている MySQL
アカウントのパスワード。エイリアス
Password
も使用できる。
Database
:すべてのステートメントが適用されるデフォルトのデータベース。デフォルトは
mysql
。エイリアス
Initial Catalog
も使用できる。
Port
:MySQL
が接続の監視に使用するポート。デフォルトは
3306
。この値を
-1
に指定して名前付きパイプ接続を使用する。
接続ストリングを作成すると、MySQL サーバへの接続を開くのに使用することができます。
次のコードは MySqlConnection
オブジェクトの作成、接続ストリングの設定、接続の開通に使用されます。
Visual Basic 例 :
public sealed class MySqlCommand : Component, IDbCommand, ICloneable
C# 例 :
Overloads Public Sub New()
また、接続ストリングを
MySqlConnection
クラスのコンストラクタに渡すこともできます。
Visual Basic 例 :
public MySqlCommand();
C# 例 :
Overloads Public Sub New( _ ByVal cmdText As String _ )
Once the connection is open it can be used by the other Connector/NET classes to communicate with the MySQL server.
外部サーバへの接続は予測不可能であるため、各
.NET
アプリケーションのエラー処理を加えることが重要になります。接続でエラーが発生すると、MySqlConnection
クラスが MySqlException
オブジェクトを返します。このオブジェクトはエラーの処理時に重要なふたつのプロパティを持っています
:
Message
:現在の例外を解説するメッセージ。
Number
:MySQL エラー番号。
処理にエラーが発生した時、エラー番号からアプリケーションの反応を予測することができます。接続で発生する一般的なエラー番号 2 種 :
0
: サーバへ接続できません。
1045
:
無効なユーザ名、および/またはパスワード。
次のコードは、実際のエラーに基づいて、アプリケーションの反応に適応する方法を示します :
Visual Basic 例 :
public MySqlCommand( stringcmdText );
C# 例 :
Overloads Public Sub New( _ ByVal cmdText As String, _ ByVal connection As MySqlConnection _ )
重要点 :
複数言語データベースを使用している場合は、接続ストリングで文字セットを指定する必要があります。文字セットを指定しない場合、接続はデフォルトで
latin1
文字セットになります。文字セットは接続ストリングの一部として指定することができます。例
:
public MySqlCommand( stringcmdText, MySqlConnectionconnection );