[掲示板へもどる]
一括表示

  [No.110] プロジェクト作成でエラー 投稿者:タロー  投稿日:2005/12/06(Tue) 21:09:00

素晴らしいソフトの公開ありがとうございます。
さて、こちらでKH Coderを起動し、
チュートリアルに乗っ取ってkokoro2.txtのプロジェクトを作ろうとしたところエラーが出ます。

分析対象ファイルを選び、名前を付けて、OKを押すと、
「MySQLデータベースの処理に失敗しました。KH Coderを修了します List DBs」と表示されアプリケーションが閉じます。

MySQLはすでに個人でインストール済で、バージョンはMySQL 5.0.4-beta-ntです。coder.iniにユーザ名とパスワードは追加してあります。何が原因なのでしょうか。

ソースを見た限り、MySQLにうまく接続できていないようには感じました。


  [No.111] MySQLのバージョン / Re: プロジェクト作成でエラー 投稿者:HIGUCHI Koichi  《URL》   投稿日:2005/12/07(Wed) 02:56:13

こんにちは、樋口です。
書き込みありがとうございます。

おそらく、MySQLのバージョンが原因かと思われます。
KH CoderのWindows版パッケージを利用されるか、あるいは、MySQL 3.23のインストールをお勧めします。
# KH Coderのソースコードをお使いになりたい場合は、Windows版パッ
# ケージと同じ場所にソースコードを解凍して「perl kh_coder.pl」
# とすることで、パッケージに同梱のMySQL・ChaSenを利用できます。

なお、KH CoderのWindows版バイナリにはMySQLにアクセスするためのPerlモジュール(DBD::mysql)が含まれていますが、これのバージョンが古いために、MySQL 5にはアクセスできないようです。

したがって、どうしてもMySQL 5をお使いになりたいという場合は、Perl(と各種Perlモジュール)を用意した上で、KH Coderのソースコードをご利用いただく必要があります。
手元のActivePerl 635 & MySQL 5.0.16-ntで試してみたところ、「ppm --upgrade dbd-mysql」でPerlモジュール(DBD::mysql)を最新版に更新すれば、MySQL 5への接続が可能になりました。
ただ、今度はSQLエラーが出ます。これは、kh_lib\mysql_exec.pmの31行目「return $dbh;」の前に、「$dbh->do('SET NAMES \'ujis\'');」という行を追加することで解決できるようです。
もっとも、MySQLの新しいバージョンでも、開発に使っているMySQL 3.23と同じ結果が得られるのかどうか未確認ですので、こういった方法は、あまり積極的にはお勧めできません。Stored Procedures, Triggers, ViewsといったMySQL 5の新機能は(使いこなせれば)面白そうだとは思うのですが・・・。

[追記]
KH CoderのWindows版パッケージに同梱のcoder.iniでは、「sql_port」が3307となっています。しかし、普通にMySQLをインストールした場合、ポートは3306になるはずです。よって、ご自身でインストールしたMySQLを使われる場合には、この部分が3306になっていることをご確認下さい。(Windows版パッケージに同梱のMySQLは、既存のMySQLと競合しないように、ポートを1つずらして3307にしています)


  [No.112] Re: MySQLのバージョン / Re: プロジェクト作成でエラー 投稿者:タロー  投稿日:2005/12/08(Thu) 19:47:23

さっそくのお返事ありがとうございます。
「追記」の方も含め、いろいろやってみます。