「MySQL Connector/NET」の版間の差分
imported>Administrator |
imported>Administrator |
||
63行目: | 63行目: | ||
Server=サーバーアドレス1 & サーバーアドレス2 & サーバーアドレス3; | Server=サーバーアドレス1 & サーバーアドレス2 & サーバーアドレス3; | ||
</source> | </source> | ||
+ | |||
+ | === 接続先サーバーのポート番号の指定 === | ||
+ | * Port | ||
+ | デフォルト:3306 | ||
+ | |||
+ | MySQLサーバーが待ち受けているポート番号を指定する。 | ||
+ | この値は接続先がlocalhostで[[UNIXソケット]]が使える場合は無視されます。 | ||
=== データベースの指定 === | === データベースの指定 === | ||
72行目: | 79行目: | ||
MySQLのデータベース名は大文字小文字を区別するので注意すること。 | MySQLのデータベース名は大文字小文字を区別するので注意すること。 | ||
接続後は「use データベース名;」というクエリーを実行することで切り替えれる。 | 接続後は「use データベース名;」というクエリーを実行することで切り替えれる。 | ||
+ | |||
+ | === ユーザー名の指定 === | ||
+ | * User Id | ||
+ | * UserID | ||
+ | * Username | ||
+ | * Uid | ||
+ | * User name | ||
+ | * User | ||
+ | デフォルト:なし | ||
+ | |||
+ | 接続に使用するMySQLアカウントを指定する。 | ||
+ | |||
+ | === パスワードの指定 === | ||
+ | * Password | ||
+ | * pwd | ||
+ | デフォルト:なし | ||
+ | |||
+ | 接続に使用するMySQLアカウントのパスワードを指定する。 | ||
+ | |||
+ | === 通信の暗号化 === | ||
+ | * Encrypt | ||
+ | * UseSSL | ||
+ | デフォルト:false | ||
+ | |||
+ | MySQL Connector/NET 5.0.3 以降で使えるようになったオプションで、それより古いバージョンでは無視される。 | ||
+ | MySQL Connector/NET 6.2.1 以降ではEncrypt ではなく UseSSL を使えとのこと。 | ||
== 備考 == | == 備考 == |
2012年3月29日 (木) 07:45時点における版
MySQL Connector/NETとは、.NET Frameworkを用いたアプリからMySQLデータベースサーバーに接続するためのADO.NETプロバイダー(ライブラリ)である。
目次
インストール
通常
- mysql-connector-net-version-noinstall.zip をダウンロードする。
http://www.mysql.com/downloads/connector/net/#downloads
- ダウンロードしたファイルを展開する。
$ unzip mysql-connector-net-version-noinstall.zip -d mysql-connector-net-version-noinstall
- 展開したディレクトリの中からmysql.data.dllファイルを探し出し、Monoで作ったアプリのインストールフォルダにコピーする。
$ find . -name mysql.data.dll
./v4/mysql.data.dll
./v2/mysql.data.dll
2012年3月5日時点で最新バージョンとなっていたmysql-connector-net-6.4.4-noinstall.zipの中には、v2/mysql.data.dllとv4/mysql.data.dllの2個あったが、名前から推測するに、たぶん.NET Framework 2.0と4.0用だと思うので、とりあえずv4/mysql.data.dllを入れてみた。
GACに登録しておく場合
Connector/NET コンポーネントを、gacutil コマンドで Global Assembly Cache に登録する :
$ gacutil /i MySql.Data.dll
Installed mysql.data.dll into the gac (/opt/novell/mono/lib/mono/gac)
インストールが完了すれば、Connector/NET コンポーネントとコンパイルされたアプリケーションは以後変更する必要はありません。しかし、アプリケーションをコンパイルする際、-r:MySqlData.dll コマンドライン オプションを使用して Connector/NET コンポーネントを確実に含むようにしてください。
ConnectionString
ConnectionStringの設定例を示す。
ConnectionStringに設定する項目名は宗教上の理由および政治上の理由により、同じ意味の異なる語句が大量に存在しており非常に紛らわしい。最新でもなく全てを網羅しているわけでもないのでMySQL公式サイト上のマニュアルを見るのが一番確実だが現在は英文しか用意されていないという[1]。
標準的な設定
MySQLサーバーの設定をいじってポート番号を変えてある場合はポート番号を明示する。 Portを省略するとMySQLデフォルトの3306番ポートが使用される。
Server=サーバーアドレス;Database=データベース名;Uid=ユーザー名;Pwd=パスワード;Port=ポート番号;
接続先サーバーの指定
- Host
- Server
- Data Source
- DataSource
- Address
- Addr
- Network Address
デフォルト値:localhost
接続先サーバーを指定する。
接続先サーバーに「localhost」が指定されており、かつUNIX上のMonoで動いている場合は、BSDソケット(TCP/IP)ではなくUNIXソケット(プロセス間通信)を使おうと試みる。
Server=サーバーアドレス;
接続先サーバーをアンパサンド(&)で区切りで複数指定すると、すべてをレプリケーションサーバー(スレーブ)として自動的に負荷分散してくれる。なおMySQLはマスター・スレーブな非同期レプリケーションが大前提であり、アンパサンドで繋ぐ書き方は複数のスレーブサーバーを列挙する書き方なので、こいつに対してINSERT/UPDATE/DELETEなどの書き込みに使ってはいけない。あくまでSELECT専用。別途マスターサーバーを指定したConnectionStringを用意しておくこと。
Server=サーバーアドレス1 & サーバーアドレス2 & サーバーアドレス3;
接続先サーバーのポート番号の指定
- Port
デフォルト:3306
MySQLサーバーが待ち受けているポート番号を指定する。 この値は接続先がlocalhostでUNIXソケットが使える場合は無視されます。
データベースの指定
- Initial Catalog
- Database
デフォルト:mysql
初期状態で使用するデータベース名を指定する。 MySQLのデータベース名は大文字小文字を区別するので注意すること。 接続後は「use データベース名;」というクエリーを実行することで切り替えれる。
ユーザー名の指定
- User Id
- UserID
- Username
- Uid
- User name
- User
デフォルト:なし
接続に使用するMySQLアカウントを指定する。
パスワードの指定
- Password
- pwd
デフォルト:なし
接続に使用するMySQLアカウントのパスワードを指定する。
通信の暗号化
- Encrypt
- UseSSL
デフォルト:false
MySQL Connector/NET 5.0.3 以降で使えるようになったオプションで、それより古いバージョンでは無視される。 MySQL Connector/NET 6.2.1 以降ではEncrypt ではなく UseSSL を使えとのこと。