この記事のバグは
http://www.vbmysql.com/forums/viewtopic.php?p=945
によると5.2.1で直るようです。
Windows Server 2003にMysqlを使って作成したアプリを入れたところイベントログに
Exception: System.Threading.SemaphoreFullException
Message: セマフォに指定されたカウントを追加すると、カウントの最大値を超える可能性があります。StackTrace: 場所 System.Threading.Semaphore.Release(Int32 releaseCount)
場所 System.Threading.Semaphore.Release()
場所 MySql.Data.MySqlClient.MySqlPool.RemoveConnection(Driver driver)
場所 MySql.Data.MySqlClient.MySqlPoolManager.RemoveConnection(Driver driver)
場所 MySql.Data.MySqlClient.NativeDriver.Dispose(Boolean disposing)
場所 MySql.Data.MySqlClient.Driver.Close()
場所 MySql.Data.MySqlClient.NativeDriver.Finalize()
というエラーが出現。MySql.Data.dllのバージョンは5.1.6。開発環境(Vista)ではそんな例外は出てなかった。
http://d.hatena.ne.jp/tachitachi_001/20080522/1211447832
http://forums.msdn.microsoft.com/ja-JP/Offtopic/thread/58f6b89e-44e7-44ae-acbe-f5f4400489ed/
等を参考にして、手元にあった5.1.4のドライバに変えたらとりあえず直った。
http://rubyforge.net/projects/ruby-dbi/からDBIモジュールをダウンロードする。
あらかじめインストールするDBDドライバが使用するDBモジュールは先に入れておく。
mysqlとsqlite3のDBDドライバを使用する場合は下記を実行する。
ruby setup.rb config –bin-dir=$HOME/local/bin –rb-dir=$HOME/local/lib/ruby/site_ruby/1.8 –so-dir=$HOME/local/lib/ruby/site_ruby/1.8/i386-freebsd6 –with=dbi,dbd_mysql,dbd_sqlite3
ruby setup.rb setup
ruby setup.rb install
Cで書かれているMySQL/Rubyをさくらインターネットにインストールするには。
まずモジュールを
からダウンロード。
ruby extconf.rb –with-mysql-config
make
Makefileを下記のように変更。($HOME/localにインストールする場合)
%diff Makefile.org Makefile
10,11c10,11
< prefix = $(DESTDIR)/usr/local
< exec_prefix = $(DESTDIR)/usr/local
—
> prefix = $(DESTDIR)/$(HOME)/local
> exec_prefix = $(DESTDIR)/$(HOME)/local
26,27c26,27
< mandir = $(DESTDIR)/usr/local/man
< libdir = $(DESTDIR)/usr/local/lib
—
> mandir = $(DESTDIR)/$(HOME)/local/man
> libdir = $(DESTDIR)/$(HOME)/local/lib
29c29
< oldincludedir = $(DESTDIR)/usr/include
—
> oldincludedir = $(DESTDIR)/$(HOME)/include
62c62
< INSTALL = /usr/bin/install -c -o root -g wheel
—
> INSTALL = /usr/bin/install -c
下記を実行。
make install
自動採番列で振られた連番の結果はそれぞれ下記のSQLで取得する。
自動採番列の作成方法は下記のように「INTEGER PRIMARY KEY」を指定する。
CREATE TABLE `Table1` (`ID` INTEGER PRIMARY KEY ,`Col1` TEXT,`Col2` TEXT)