[fess-user 545] FessのデータベースをMySQLに変更するとデータの登録に失敗する

Back to archive index

宮村達也 tatsu****@gmail*****
2012年 2月 28日 (火) 13:27:35 JST


お世話になります。株式会社I.S.Tの宮村と申します。

社内でFESSを導入するためにテストを実施中です。
ファイルサーバのドキュメント数が多いため、H2 Databaseから
MySQLにデータベースを変更しようとしています。
http://fess.sourceforge.jp/ja/5.0/config/db.html
に記載されている「データベースの変更」の内容に基づき、
データベースをMySQLに変更した後、管理画面でロールを登録しようとすると
登録に失敗します。

登録時に
/usr/java/fess-server-5.0.1/webapps/fess/WEB-INF/logs/fess.out
に以下のメッセージが表示されていました。

Caused by: org.seasar.framework.exception.SSQLException:
[ESSR0072]SQLException(SQL=[CALL IDENTITY()], Message=[1305],
ErrorCode=42000, SQLState={3}) occurred
        at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.wrapException(PreparedStatementWrapper.java:72)
        at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.wrapException(PreparedStatementWrapper.java:67)
        at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:83)
        at org.seasar.dbflute.s2dao.sqlhandler.TnBasicSelectHandler.executeQuery(TnBasicSelectHandler.java:95)
        at org.seasar.dbflute.s2dao.sqlhandler.TnBasicSelectHandler.queryResult(TnBasicSelectHandler.java:84)
        at org.seasar.dbflute.s2dao.sqlhandler.TnBasicSelectHandler.doExecute(TnBasicSelectHandler.java:72)
        ... 101 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
PROCEDURE fess_db.IDENTITY does not exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2293)
        at org.seasar.extension.jdbc.impl.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:81)

エラー内容から推察するとロールを格納するテーブルのIDを発行しようとしているが、IDENTITYがないため
失敗したと表示されているようです。

こちらで構築した環境は
OS:CentOS5.7 32Bit
Mysql:Server version: 5.5.21 MySQL Community Server (GPL)
FESS:fess-5.0.1
です。MySQL環境で推奨されるバージョンがあるのでしょうか。それとも私の実施内容で
不足していることがあるか、ご教示いただけますでしょうか。

-- 
/**
 * 宮村 達也
 * mailto:tatsu****@gmail*****
 */




Fess-user メーリングリストの案内
Back to archive index