‘MySQL’ カテゴリーのアーカイブ

MysqlのConnector/.NetでSemaphoreFullExceptionが発生(2)

2008年6月29日 日曜日

この記事のバグは

http://www.vbmysql.com/forums/viewtopic.php?p=945

によると5.2.1で直るようです。

MysqlのConnector/.NetでSemaphoreFullExceptionが発生

2008年6月29日 日曜日

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のドライバに変えたらとりあえず直った。

ruby-dbiをさくらインターネット共有サーバにインストールするには

2008年6月27日 金曜日

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

MySQL/Rubyをさくらインターネット共有サーバにインストールするには

2008年6月27日 金曜日

Cで書かれているMySQL/Rubyをさくらインターネットにインストールするには。

まずモジュールを

http://tmtm.org/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

SQLServer, MySQL, SQLiteで自動採番列の結果を取得するには

2008年6月25日 水曜日

自動採番列で振られた連番の結果はそれぞれ下記のSQLで取得する。

SQL Server
select SCOPE_IDENTITY()
SQLite
select last_insert_rowid()
Mysql
select LAST_INSERT_ID()

自動採番列の作成方法は下記のように「INTEGER PRIMARY KEY」を指定する。

CREATE TABLE `Table1` (`ID` INTEGER PRIMARY KEY ,`Col1` TEXT,`Col2`  TEXT)